
Java日常学习
文章平均质量分 80
Java零碎知识点
perseveregz
热爱编程的程序员
展开
-
进程间的通信过程
进程间的通信过程原创 2023-08-01 17:32:59 · 231 阅读 · 0 评论 -
线程池的原理
拒绝策略,当任务队列workQueue已满,且正在运行的线程数达到了最大线程数maximumPoolSize,此时需要对新任务根据策略进行处理;处理任务时,若有空闲线程,则使用空闲线程处理任务;若没有空闲线程,则创建新的线程处理任务,处理完毕缓存到线程池。最大线程数,当任务队列存满了,同时运行的线程数量大于核心线程数,此时代表的是。核心线程数,代表了处理线程时的核心运行线程数量(任务队列此时是没有存满的)处理任务时,先判断是否有空闲线程,没有则放到任务队列,有则直接执行。线程工厂,用来创建新线程。原创 2023-08-02 21:41:23 · 185 阅读 · 0 评论 -
Future模式
Future模式原创 2023-07-29 21:49:11 · 212 阅读 · 0 评论 -
多线程中乐观锁的实现方式
多线程中乐观锁的实现方式原创 2023-07-31 20:30:44 · 260 阅读 · 0 评论 -
MySQL的MVCC
MySQL的MVCC知识原创 2023-07-12 09:48:22 · 278 阅读 · 0 评论 -
MySQL索引index
MySQL索引原创 2023-07-12 09:30:22 · 298 阅读 · 0 评论 -
MySQL的锁
MySQL的锁原创 2023-07-12 09:40:23 · 202 阅读 · 0 评论 -
负载均衡的知识点
负载均衡的方法原创 2023-07-11 16:19:56 · 1132 阅读 · 0 评论 -
MySQL的事务
MySQL的事务原创 2023-07-10 15:24:57 · 219 阅读 · 0 评论 -
MySQL架构:查询缓存及存储引擎
InnoDB的好处:InnoDB是事务性存储引擎,支持事务(这也是其他存储引擎所不具备的优点)读:读之前要先检查是否命中缓存,若命中缓存,操作结束后也会将查询语句写入缓存。注意:InnoDB支持的事务实现了SQL的隔离级别,且默认的可重读可以解决幻读问题。注意:存储引擎是基于表的,因此可以为不同表设置不同存储引擎。MySQL5.5之前的默认存储引擎:MyISAM。MySQL5.5之前的默认存储引擎:InnoDB。InnoDB:支持表级锁和行级锁,能够对行进行并发写。MySQL默认的存储引擎:InnoDB。原创 2023-07-08 00:26:25 · 209 阅读 · 0 评论 -
MyBatis基础知识(一)
mybatis的重点知识原创 2023-07-02 22:32:08 · 227 阅读 · 0 评论 -
MySql知识引入
MySql基础知识原创 2023-07-04 21:49:44 · 100 阅读 · 0 评论 -
Spring开发中使用的常用注解
Spring的常用注解原创 2023-07-01 14:37:37 · 496 阅读 · 0 评论 -
SQL语句的执行过程
Server层:包括连接器、查询缓存、分析器、优化器、执行器等,所有的跨存储引擎功能都在这一层实现,比如视图、函数、触发器。首先分析SQL语句中的关键字,SELECT..FROM...WHERE..等,找到相关数据。存储引擎:主要负责数据的存储与读取,支持InnoDB、MyISAM等多个存储引擎;若认证通过,连接器到权限表查询用户的权限,读取权限数据。缓存未命中,则执行语句并将结果缓存,方便之后调用。功能:负责用户登录数据库时的身份认证和权限操作:验证账号密码。功能:缓存执行了SELECT语句后的结果。原创 2023-07-05 23:06:29 · 206 阅读 · 0 评论 -
MyBatis基础知识(二)
MyBatis基础知识(二)原创 2023-07-03 10:08:03 · 399 阅读 · 0 评论 -
MySQL运算符与排序
MySQL运算符与排序原创 2023-07-04 21:38:55 · 209 阅读 · 0 评论 -
数据库的表和属性
外键:与其他表关联时使用,外键就是其他表的主键,外键可以重复,可以为空,一个表可以有多个外键。属性:一个实体拥有的属性,属性构成了实体的要素,比如表中的各种字段。概念:数据库中,每个表的每一行就是一个元组,表的每一列就是一个属性。主键:用于唯一标识一个元组,不能重复,不能为空,一个表只有一个主键。概念:存储过程使用在业务逻辑复杂的场景下,可以看成sql语句的集合。联系:实体与实体之间的关系,比如一个学生有多个老师。表中的一个属性是另一个表的主码,则这个码就是外码。即表中的列,唯一标识实体的属性。原创 2023-07-07 00:01:47 · 1307 阅读 · 0 评论 -
事务不同的隔离级别产生的脏读、不可重复读、幻读是什么
事务的脏读、不可重复读、幻读原创 2023-06-29 21:20:04 · 208 阅读 · 0 评论 -
Spring管理事务知识
Spring管理事务知识原创 2023-06-29 21:25:58 · 2229 阅读 · 0 评论 -
Spring MVC的工作原理
spring mvc的工作流程原创 2023-06-28 17:42:34 · 841 阅读 · 0 评论 -
Spring中的设计模式
spring中的设计模式原创 2023-06-28 22:54:08 · 642 阅读 · 0 评论 -
Spring基础知识(五)
springAOP知识原创 2023-06-27 16:03:18 · 189 阅读 · 0 评论 -
SpringBoot基础知识(一)
SpringBoot基础知识原创 2023-06-15 23:08:49 · 973 阅读 · 0 评论 -
Spring基础知识(三)
概念:DAO,Data Access Object:数据访问对象实现:Spring以统一的方式整合底层的持久化技术,然而不同的持久化实现技术异常体系不同。Spring提供统一的异常体系,将不同的持久化技术异常转换为Spring的异常,从而定义与持久化技术无关的DAO接口。原创 2023-06-25 15:49:09 · 417 阅读 · 0 评论 -
Spring基础知识(二)
spring基础知识原创 2023-06-17 23:02:53 · 760 阅读 · 0 评论 -
Spring基础知识(一)
Spring基础知识原创 2023-06-16 17:41:19 · 786 阅读 · 1 评论 -
Spring基础知识(四)
Spring基础知识原创 2023-06-26 23:05:25 · 545 阅读 · 0 评论 -
JVM垃圾回收算法及Java引用
一般将GC堆划分为老年代和新生代,老年代中,每次垃圾回收只有少量对象需要被回收;,每次使用其中一块,当这一块内存满后将存活对象复制到另一块上,将已经使用的内存清理掉。定义:使用SoftReference类实现,软引用的对象当系统内存足够时不会被回收,定义:将一个对象赋给一个引用遍历,该引用变量就是一个强引用;,因此选择复制算法,付出少量存活对象的复制成本即可完成收集。,无论内存空间是否足够,都会回收该对象所占用的内存。,使用内存复制会付出大量复制成本,使用。缺点:一个对象被强引用变量引用时,就。原创 2023-06-09 22:43:28 · 694 阅读 · 0 评论 -
JVM基础知识(三)
JVM堆及GC及原理原创 2023-06-08 23:09:50 · 387 阅读 · 0 评论 -
Java面向对象基础知识(三)
Java面向对象基础知识原创 2023-06-13 22:16:44 · 849 阅读 · 0 评论 -
Java源文件的执行过程
Java源文件的执行过程原创 2023-06-12 21:09:52 · 1159 阅读 · 0 评论 -
JVM垃圾收集器
2.Java堆内存分为新生代与老年代,新生代采用复制和标记清楚垃圾算法,老年代使用标记整理算法。并发标记:进行GC Roots跟踪,和用户线程一起工作,无需暂停工作线程。初始标记:标记GC Roots能直接管理的对象,需要暂停所有工作线程。重新标记:修正在并发标记期间,因用户程序工作导致标记变动的标记记录。缺点:和Serial一样,多线程进行垃圾回收时也要。缺点:单线程完成垃圾回收,在进行垃圾回收时,必须。Serial Old垃圾收集器。Serial Old垃圾收集器。Serial垃圾收集器。原创 2023-06-10 22:45:41 · 771 阅读 · 0 评论 -
JVM类加载机制
每一个类收到类加载请求,都先将请求委派给父类完成,从而所有的加载请求都会传送到启动类加载器中,只有父类无法完成请求,才由子类加载。加载JAVA_HOME\lib目录,或者被虚拟机认可、通过-Xbootclasspath参数指定路径的类。加载用户路径的类库,使用双亲委派模型进行类加载;验证:确保Class文件的字节流中包含的信息是否符合虚拟机的要求,不会危害虚拟机安全。符号引用与虚拟机内存布局无关,且引用的目标并不一定已经加载到内存中。类加载完后,进行使用。此时可以完成类的实例变量(非静态变量)的初始化。原创 2023-06-11 23:04:38 · 703 阅读 · 0 评论 -
JVM基础知识(二)
JVM知识点原创 2023-06-07 23:52:31 · 354 阅读 · 0 评论 -
Java线程基础知识(五)
Java线程中的知识点原创 2023-06-05 22:47:11 · 637 阅读 · 0 评论 -
JVM基础知识(一)
Java内存的知识原创 2023-06-06 22:15:49 · 590 阅读 · 0 评论 -
Java阻塞队列
Java中常见的阻塞队列原创 2023-06-04 22:19:20 · 541 阅读 · 0 评论 -
Java线程基础知识(四)
为保证多线程间的有效并发,会要求每个线程持有锁的时间尽量短,操作完共享数据后立即释放锁。比如读写锁ReadWriteLock,根据功能将锁分离成读锁和写锁,保证了线程安全,若一个线程超过keepAliveTime没有任务,则线程池判断若当前运行线程数大于corePoolSize,就终止该线程。a)若队列已满,正在运行的线程数量小于maximumPoolSize,则创建线程运行任务。但若出现同一时间访问同一把锁的情况,比如调用了锁对象的wait()和notify()方法,就会从轻量级锁升级为重量级锁。原创 2023-06-03 17:34:58 · 960 阅读 · 0 评论 -
Java入门知识(一)
1.B/S架构与C/S架构2.Java SE、Java EE、Java ME是什么3.JDK、JRE、JVM之间的关系4.Java语言的特点5.面向对象与面向过程6..Java使用到的数据结构7.Java的变量分类8.标识符命名规则9.隐式转换与显式转换10.char与int、double、String之间的转换原创 2023-05-18 11:04:36 · 109 阅读 · 1 评论 -
Java数组基础知识(一)
1.什么是自动拆装箱2.Java类中包含什么内容3.如何解决浮点型数据运算出现的误差问题5.重载和重写的区别6.==和equals的区别7. 程序的结构8.数组实例化的方式9.Java中各种数据默认值10.Java中是否有指针原创 2023-05-19 16:39:53 · 274 阅读 · 0 评论