logo头像
ICQL

jse_lang

基础1)jdk、jreclasspath:.class文件运行路径,默认为.,即当前目录;可手动设置 set classpath=d:\ 2)数据类型(1)基本类型均有默认值:整数类型默认值为0,浮点类型默认值为0.0,字符为\u0...

jse_string_long_integer

Integer、LongvalueOf 方法使用了缓存 -128 - 127,parseInt 和 parseLong 没有使用,所以推荐使用 valueOf 方法 StringString 是不可变的,因为String类是...

jse_bio

BIO类概述 输入输出:站在内存的角度来讲的,input输入代表输入到内存中,output输出代表从内存中输出 流:流从概念上来说是一个连续的数据流。你既可以从流中读取数据,也可以往流中写数据。流与数据源或者数据流向的媒介相关联。在J...

jse_nio

Unix网络编程中的 5 种IO模型:https://www.jianshu.com/p/486b0965c296 Blocking IO - 阻塞IO NoneBlocking IO - 非阻塞IO IO multiplexing ...

jse_collection

Collection接口单值保存最大父接口 List Set

jse_map

Map<K,V>接口 偶对象保存的最大父接口 以下源码基于jdk1.8 HashMapHashMap的线程不安全: (1)1.7put时采用链表头插法,然后扩容时会链表会反转一次,并发插入时可能导致环形链表(死循环)...

jse_objects_arrays_collections

Arrays(数组工具类)java.util.Arrays Collections(容器工具类)java.util.Collections Objects(对象工具类)java.util.Objects

jse_lambda

函数式接口有且仅有一个抽象方法的接口/抽象类 java中的函数式编程体现就是Lambda,所以函数式接口就是可以适用于Lambda使用的接口。只有确保接口中有且仅有一个抽象方法,Java中的Lambda才能顺利地进行推导 1)@Fun...

jee

哈哈,待重新学习整理 java ee 核心设计模式* web浏览器 —— Servlet控制层(不需要业务逻辑) —— jsp页面 —— html doc —— web浏览器 * web浏览器 —— Servlet控制层(需要业务逻辑...

jvm_概述

jvm官方文档https://docs.oracle.com/javase/8/ 虚拟机规范https://docs.oracle.com/javase/specs/jvms/se8/html/index.html垃圾回收调优相关参数...

jvm_字节码

字节码java程序 -> javac编译器 -> 字节码(.class) -> java虚拟机(win/linux/…) Write Once, Run Anywhere “一次编译,到处运行” 编译后生成的字节码...

jvm_类加载

类加载机制虚拟机将 描述类的字节码数据 在 运行期间 加载到内存中,对其进行一些处理转换为虚拟机可以直接使用的java类型 类的生命周期:加载 -> 连接(验证 -> 准备 -> 解析) -> 初始化 -&gt...

jvm_内存管理

jvm内存管理采用的是 自动管理 的机制 运行时内存区域1)程序计数器(Program Counter Register)线程私有,每个线程都有一个程序计数器 (1)异常:唯一一个不会抛出 OutOfMemoryError 的...

jvm_垃圾回收

垃圾回收调优相关参数介绍https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/ java中的引用reference类型的数据中存储的数值代表着另一块内存的...

jvm_编译优化

JIT编译设置采用解释器还是JIT编译器 -Xint: 完全采用解释器模式执行程序。-Xcomp: 完全采用即时编译器模式执行程序。如果即时编译出现问题,解释器会介入执行。-Xmixed: 采用解释器和JIT编译器并存的方式共同执行...

jvm_实战

jvm工具https://docs.oracle.com/javase/8/docs/technotes/tools/unix/index.htmlhttps://docs.oracle.com/javase/8/docs/techn...

jc_内存模型

并发编程的通信机制(2种)1)共享内存线程之间共享公共状态(内存),通过 写-读 内存中的公共状态来进行隐式的通信 2)消息传递线程之间没有公共状态,必须通过发送消息来进行显示的通信 指令重排序as-if-serial语义,不管...

jc_并发关键字

volatile1)作用如果一个字段被声明为 volatile1)可见性:java内存模型会确保一个线程修改 这个变量的值 会对其他线程立即可见2)有序性:禁止指令重排序3)原子性:jmm内存模型规定,变量的load和store操作本...

jc_原子操作

原子操作(atomic operation)原子操作指的是不能被中断的一个或一系列操作 CAS(Compare and Swap)CAS操作包含三个操作数 —— 内存位置(V)、预期原值(A)和新值(B)如果内存位置的值与预期原值相匹...

jc_线程基础

进程与线程进程: 资源分配的最小单元(内存地址、 文件I/O等),一个进程就是一个正在执行的程序的实例线程: cpu执行调度的最小单元,轻量级进程,java的线程是基于操作系统原生线程模型来实现的,采用 1:1 的线程模型 线程调度 ...

jc_并发锁

Lock接口java.util.concurrent.locks.Lock 比较: synchronized 使用简单,系统自动管理同步,非公平锁;Lock接口 使用可操作性高,可超时获取锁、中断的获取锁以及自由是实现公平/非公...

jc_原子操作类

java.util.concurrent.atomic 包下面的原子操作类 13个原子操作类 基本原理使用 volatile/final 修饰实际的值,用来保证 jmm 的内存语义然后统一调用 Unsafe 类的 native...

jc_并发容器

ConcurrentHashMap(线程安全的Map)java.util.concurrent.ConcurrentHashMap 高性能、线程安全的Map 1)基本结构 和 HashMap 结构很相似,与 HashMap 比较: ...

jc_线程池

异步任务1)Runnable、Callable、Future 2)FutureTask(实现上述 3 个接口的具体类)(1)继承关系 (2)字段属性 (3)构造方法 (4)关键方法(4.1)isCancelled方法 (4.2...

jc_并发工具类

LockSupportjava.util.concurrent.locks.LockSupport底层使用的 Posix 协议的 mutex,condition 来实现的 CountDownLatchjava.util.co...

spring_框架体系

spring介绍官网 https://spring.iospring有很多项目,例如 spring framework、spring boot、spring cloud、spring data 等等 spring 框架体系Spr...

spring_ioc

ioc容器spring bean的容器控制反转ioc(Inversion of Control)指的是将我们手动创建bean的操作交给ioc容器,让ioc容器去负责管理bean的生命周期 BeanFactoryThe root in...

spring_aop

AOP,Spring AOP,AspectJ1)AOPAOP 面向切面编程(Aspect Oriented Programming),是一种编程思想,指的是在原来的代码执行前、执行后、异常等位置包装增强一些功能 术语: (1)Tar...

spring_mvc

web集成spring容器 springmvc执行原理 核心前端控制器DispatcherServlet相当于一个中央处理器 具体执行流程:用户发送请求–前端控制器(处理请求)–响应请求给用户 1)通过处理器映射器HandlerM...

spring_boot

springboothttps://spring.io/projects/spring-boot ConfigurationClassPostProcessor(扫描注册bean)org.springframework.cont...

mybatis

MyBatis介绍 MyBaits整体架构 开发方式 传统dao开发 Mapper代理开发(推荐使用) 1)mapper接口的全限定名要和mapper映射文件的namespace值一致 2)mapper接口的方法名称要和mapper映...