javaSE
shy_black
18710905225@163.com
展开
-
Integer.getInteger()踩坑小记
开头先问一下大家,想一想下面的num值为什么Integer num = Integer.getInteger("4");经过测试得出,num 等于 null,没有想到在这里居然踩坑了。薛薇看一下源码:public static Integer getInteger(String nm) { return getInteger(nm, null); } public static Integer getInteger(String nm, Integer val) {原创 2021-09-09 14:05:21 · 1586 阅读 · 0 评论 -
InnoDB 和 MyISAM
InnoDB 和 MyISAM:InnoDB 支持事务,MyISAM不支持,如果在一些列的增删改时,只要那个出错还可以回滚还原,MyISAM就不可以了MyISAM适合查询及插入为主的场景,InnoDB适合频繁更新及涉及到安全性较高的场景InnoDB支持外键,MyISAM不支持InnoDB不保存表的行数,MyISAM保存清空表时,InnoDB逐行删除,MyISAM会直接...原创 2019-08-12 19:24:51 · 117 阅读 · 0 评论 -
聚簇索引与非聚簇索引
聚簇索引与非聚簇索引聚簇索引:并不是种单独的索引类型,而是一种数据存储方式。InnoDB中的聚簇索引实际上是在同一个结构上保存了B-Tree索引和数据行当表有聚簇索引时,它的数据行实际上存放在索引的叶子页中,“聚簇”表示数据行和相邻的键值紧凑的存储在一起。因为无法同时将数据行存放在俩个不同的地方,所以一个表只能有一个聚簇索引。聚簇索引中,叶子节点中保存了行的全部数据(主键值、事务ID、回...原创 2019-08-12 18:27:24 · 177 阅读 · 0 评论 -
String和它的常量池朋友以及intern()方法在JDK1.7中的变化
此文摘自:https://langinteger.github.io/2018/04/19/java-String-pool/Java语言中有8种基本数据类型和一种比较特殊的数据类型String。为了使用起来更加高效(时间上和空间上),JVM为这些类型的数据分别维护了系统级别的常量池。本文主要叙述String类型的常量池以及向常量池中添加对象的intern()方法在JDK1.7以后版本中的变化。...转载 2019-07-30 13:19:22 · 285 阅读 · 0 评论 -
双亲委派模型
双亲委派模型:当类加载器收到类加载请求时,首先不会去加载它,而是将请求传给上传类加载器,直到传递到顶层类加载器(BootStrap),这时顶层类加载器开始处理类加载请求,如果不能成功加载,则传给下一层类加载器执行,依次类推。Bootstrap Classloader:启动类加载器,由C++编写,java程序不可以直接引用,主要负责加载JAVA_HOME\lib中的类库。Extensioin C...原创 2019-04-25 11:29:19 · 97 阅读 · 0 评论 -
Condition实现生产者消费者模型
import java.util.ArrayList;import java.util.List;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/** * @author...原创 2019-03-16 20:54:26 · 298 阅读 · 0 评论 -
arrayList中modCount保证并发情况下遍历集合返回正确数据
/***在add方法和remove方法时modCount会自增一简写ex = exceptedModCount简写m= modCount如下例子:m初始为0,经过add与remove后变为6ex初始是被m赋值的,所以excepted为6但在while代码块中,arr集合进行了remove操作,modCount自增使得exceptedModCount != modCount,抛出...原创 2019-03-03 14:35:30 · 254 阅读 · 0 评论 -
单例模式Java实现_饿汉式和懒汉式
单例模式:即保证在内存中一个类的对象只能有唯一的一个。为了保证对象的唯一性,首先需要将方法的构造方法私有化,其次,我们还需要在类中需要进行创建对象的操作,当然,也是私有化创建对象。为了保证对象的获取,getInstance()方法(getInstance意思为获取实例,此方法需要返回类的实例化对象)需要是public修饰的,这样,一个最简单的单例模式就构建好了。/** * 代理模式_饿汉...原创 2019-02-25 15:01:55 · 177 阅读 · 0 评论 -
内建锁(Synchronized)的优化
JDK1.6后,内建锁被优化为三种锁:–无锁状态:最初没有任何线程尝试获取锁。偏向锁:认为从始至终只有一个线程在竞争同一把锁。(最乐观)只在第一次请求锁时采用CAS操作。轻量级锁:多个线程在不同时间段请求同一把锁,(基本不存在锁竞争)。每次进入同步块时都会进行CAS操作。可以避免线程的阻塞及唤醒。重量级锁:悲观锁,即为JDK1.5以前的内建锁,会阻塞,唤醒请求加锁的线程,针对多线程在同一...原创 2018-11-27 17:05:22 · 188 阅读 · 1 评论 -
java中的异常处理之try catch块的简单应用
java中的异常根据是否需要人为处理分为俩种:A:非受查异常:派生于Error类,与RuntimeException类(运行时异常)的所有异常。B:受查异常----:所有不属于非受查异常类的异常(包括自己写的继承于Exception类的子类)。非受查异常,顾名思义,就是不需要强制处理的异常。受查异常:需要人为处理它,去检查它是否真正正确运行,如果正确运行,不进行干预,如果与预期运行相违背,...原创 2018-11-13 19:22:30 · 1163 阅读 · 0 评论