手册java
java之Optional
ofNullable 使用静态方法 ofNullable() 创建一个即可空又可非空的 Optional 对象 String name = null; Optional<String> optOrNull = Optional.ofNullable(name); System.out.println ......
【Java 并发】【十】【JUC数据结构】【八】ConcurrentHashMap原理
1 前言 上一节我们讲解了HashMap底层的实现,但是HashMap不是线程安全的,存在多个线程并发操作的线程安全的问题。今天我们就来看一下ConcurrentHashMap这个数据结构,并发安全版本的Map结构。 2 ConcurrentHashMap内部源码 2.1 内部属性 // 最大容量上 ......
c#快速入门~在java基础上,知道C#和JAVA 的不同即可
☺ 观看下文前提:如果你的主语言是java,现在想再学一门新语言C#,下文是在java基础上,对比和java的不同,快速上手C# C# 学习参考文档和开发工具 微软c#官方文档:https://learn.microsoft.com/zh-cn/dotnet/csharp/tour-of-cshar ......
Java基础
一、注释 当项目复杂时,我们很难看懂代码逻辑,所以我需要再编写代码时添加注释以提醒自己或者别人。 注释不会被执行,是给写代码的人看的 书写注释是一个非常好的习惯。平时的编程过程中一定要注意规范 1.单行注释://...(双斜杠加内容) 2.多行注释:/**/(2个单斜杠中间加上2个星号) 3.文档注 ......
Java设计模式 —— 观察者模式
16 观察者模式 16.1 观察者模式概述 Observer Pattern: 定义对象之间的依赖关系(一对多),当一个对象的状态发生改变时,其关联的依赖对象均收到通知并自动更新。 观察者模式又称:发布-订阅模式,源-监听器模式 观察者模式结构图如下所示: 16.2 观察者模式实现 16.2.1 抽 ......
java并发编程(2):Java多线程-java.util.concurrent高级工具
伴随着多核CPU的出现,也就意味着不同的线程能被不同的 CPU 核得到真正意义的并行执行。Java 是最先支持多线程的开发的语言之一,Java1 5提供了一个非常高效实用的多线程包:java util concurrent ......
java并发编程(1):Java多线程-基本线程类-基础知识复习笔记
多线程只有一个目的,那就是更好的利用cpu的资源,基本线程类指的是Thread类,Runnable接口,Callable接口,传统java多线程编程 需要注意的 线程安全 线程同步 线程通信 synchronized volatile ……一锅乱炖 ......
java反射机制原理剖析
没有反射也就没有框架,现有的框架都是以反射为基础。 Spring 中,最重要的概念就是 IOC 控制反转。而 IOC 的实现原理就是反射。通过反射来构造 Java Bean 的对象,调用其方法。反射就是在运行时才知道要操作的类是什么 ......
Java注解(批注)的基本原理
为什么要使用注解? 早期版本的Spring是通过XML文件的形式对整个框架进行配置的,一个缩减版的配置文件如下 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/bea ......
【Java 并发】【十】【JUC数据结构】【七】ConcurrentHashMap前置篇HashMap原理
1 前言 前几节我们分析了一些并发安全的数据结构,分别是CopyOnWrite系列的CopyOnWriteArrayList、BlockingQueue阻塞队列系列的LinkedBlockingQueue、ArrayBlockingQueue、DelayQueue。接下来我们要讲解一个很重要的并发安 ......
Python同Java及C++的不同之处
Python同Java及C++的不同之处1. C++、Java对变量的定义很严格 比如 int a = 0 python则直接定义 a=0 2. C++、Java代码结束时需要用 ;隔开 比如 int a =0; ,而python则不用 a=0 直接换行即可 3. C++、Java中的循环或者判断需 ......
Java 异常处理:使用和思考
概念 异常处理的概念起源于早期的编程语言,如 LISP、PL/I 和 CLU。这些编程语言首次引入了异常处理机制,以便在程序执行过程中检测和处理错误情况。异常处理机制随后在 Ada、Modula-3、C++、Python、Java 等编程语言中得到了广泛采用和发展。在 Java 中,异常处理是提供一 ......
Java5
使用for循环计算1-100的和,除了以3结尾的那些数 package dsfa; public class dgd { public static void main(String[] args) { // TODO Auto-generated method stub int i,sum=0; ......
近万字总结:Java8 Stream流式处理指南
总结/朱季谦 在实际项目当中,若能熟练使用Java8 的Stream流特性进行开发,就比较容易写出简洁优雅的代码。目前市面上很多开源框架,如Mybatis- Plus、kafka Streams以及Flink流处理等,都有一个相似的地方,即用到Stream流特性,其写出的代码简洁而易懂,当然,若是在 ......
从java到JavaScript(2):对比Java/Go/Swift/Rust看Dart
Dart与Java的一些直观区别GoGo作为一种简单的语言,非常适合构建网络应用程序,这是正确的,如果你不需要其他功能,如泛型。个人觉得Dart和Java JavaScript有很多共通之处,对于typescript,个人觉得dart替代性更好 ......
从java到JavaScript(1),看Dart:对比Java/Go/Swift/Rust
动态类型语言不满足人民群众日益增长的性能需求,同时暴露了对类型过于宽松而造成的可维护性,可调试性下降。Dart作为新时代的语言,支持JIT与AOT的新人,个人觉得还是好好琢磨下,笔记可能是未来web王者 ......
【Java 并发】【十】【JUC数据结构】【六】SynchronousQueue同步阻塞队列原理
1 前言 看过了LinkedBlockingQueue、ArrayBlockingQueue、DelayQueue等阻塞队列,这节我们又要看一个不一样的队列,SynchronousQueue同步阻塞队列。 2 SynchronousQueue是什么 SynchronousQueue的同步队列,使用的 ......
Cause: java.sql.SQLSyntaxErrorException: Unknown database 'java_test'
Cause: java.sql.SQLSyntaxErrorException: Unknown database 'java_test' 我的原因是库名写错了,这里要修改成自己数据库的名字,不能是表名或者其他。 ......
Java8 Stream
Java8 Stream 1 Stream概述 2 Stream的创建 3 Stream的使用 案例使用的员工类 3.1 遍历/匹配(foreach/find/match) 3.2 筛选(filter) 3.3 聚合(max/min/count) 3.4 映射(map/flatMap) 3.5 归约 ......
【Java 并发】【十】【JUC数据结构】【五】DelayQueue延迟阻塞队列原理
1 前言 前两节我们看了BlockingQueue阻塞队列的两个子类,LinkedBlockingQueue、ArrayBlockingQueue,它们都是使用了ReentrantLock、Condition的来实现的,在进行插入操作、拉取数据操作之前为了并发安全都需要进行加锁;然后插入时候在容量满 ......
几种常用的Java 算法
package jsh.mg.msg.service.msg.test;import java.util.Arrays;import static java.util.Arrays.binarySearch;/** * * 几种常用的Java 算法 */public class TestClass ......
java -- 练习题
第一题 1.定义一个Person类,要求有姓名和年龄,并且符合JavaBean标准,定义Student类继承Person,定义测试类,创建Student对象,要求创建Student对象的同时,指定Student对象的姓名为"张三",只能指定姓名不许指定年龄 class Person { privat ......
JS引擎(2):Java平台上JavaScript引擎—Rhino/Nashorn概述
Rhino 是一种动态类型的、基于对象的脚本语言,它可以简单地访问各种 Java 类库。Nashorn是一种单层的纯编译型JavaScript实现。所有JavaScript代码在首次实际执行前都会被编译为Java字节码交由JVM执行。 ......
Java: switch lambda-like syntax
The switch expression has an additional lambda-like syntax and it can be used not only as a statement, but also as an expression that evaluates to a s ......
Golang与Java全方位对比总结
本文针对Golang与Java的基础语法、结构体函数、异常处理、并发编程及垃圾回收、资源消耗等各方面的差异进行对比总结,有不准确、不到位的地方还请大家不吝赐教。 ......
leetcode56.合并区间-java
1 class Solution { 2 public int[][] merge(int[][] intervals) { 3 /* 4 思路:左区间排序,若intervals[i][0] >= intervals[i-1][1]; 则重叠 5 将重叠区间新建放入res数组里,没重叠则放入原数组 ......
Java之Stream流
Stream 学习Stream流需要先了解什么事函数式接口,因为在Stream中的方法参数大都为函数式接口。 函数式接口 有且只有一个抽象方法的接口。函数式接口可以有多个非抽象方法; Java中内置函数式接口 内置函数式接口:由java官方定义的一些常用的函数式接口。 消费型接口(Consumer) ......
我的Java项目实战--校园餐饮商户外卖系统 01
开发笔记01 1.软件开发整体介绍 软件开发流程 角色分工 项目经理:对整个项目负责,任务分配、把控进度 产品经理:进行需求调研,输出需求调研文档、产品原型等 U设计师:根据产品原型输出界面效果图 架构师:项目整体架构设计、技术选型等 开发工程师:代码实现 测试工程师:编写测试用例,输出测试报告 运 ......
【Java 并发】【十】【JUC数据结构】【三】LinkedBlockingQueue阻塞队列原理
1 前言 这节我们就来看看LinkedBlockingQueue内部实现的原理。 2 LinkedBlockingQueue的使用 在看原理之前我们先来用一用LinkedBlockingQueue,来体验一下: 2.1 插入数据 public class LinkedBlockingQueueTes ......