Java
yyyyyysssssshhhhhh
这个作者很懒,什么都没留下…
展开
-
线程通信
线程终止-stop会导致引发线程安全问题,当运行stop时线程会强制停止导致数据不一致;一般采用interrupter或者设置一个flag来控制程序是否执行 while(flag)。由于suspend 不会释放锁,在加锁情况下和程序顺序有误时会导致死锁,所以弃用suspend resume;wait notify必须在同步代码块里面才能用,不然会报异常;虽然wait会释放锁不容易产生死锁现...原创 2020-04-15 10:11:26 · 114 阅读 · 0 评论 -
java运行机制
Java实现跨平台是JVM(Java虚拟机)起的作用,如果是C/C++的编译方式,一旦换了一个平台,那么就需要重新编译一份对应的可执行代码,但是Java则不同,编译好了一份Java字节码,换到不同的平台上时,并不需要重新编译,前提是这些平台上都安装了相应平台的JVM,JVM不是跨平台的。JVM也是一个软件,不同的平台有不同的版本。我们编写的Java源码,编译后会生成一种 .class 文件,称...原创 2020-03-30 09:15:51 · 128 阅读 · 0 评论 -
线程的生命周期
1.初始状态: new Thread 没有执行start()时2.就绪状态:获取所有资源,等待获取cpu执行权时(执行start()后)3.运行状态:就绪状态获取cpu执行权时4.阻塞状态:处于运行状态中的线程由于某种原因,暂时放弃对CPU的使用权5.死亡状态:线程执行完或者因异常退出run()结束生命周期就绪状态转换为运行状态:当此线程得到处理器资源;运行状态转...原创 2020-03-27 10:20:55 · 176 阅读 · 0 评论 -
org.apache.http报红问题
pom添加依赖 <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.11</version> </...原创 2020-02-25 15:28:03 · 1340 阅读 · 1 评论 -
hashmap四种遍历
Map<String, String> hashMap = new HashMap();hashMap.put(“name”, “老王”);hashMap.put(“sex”, “你猜”);// 方式一:entrySet 遍历for (Map.Entry item : hashMap.entrySet()) {System.out.println(item.getKey() ...原创 2019-11-27 13:52:57 · 121 阅读 · 0 评论 -
重写equals方法时为什么同时要重写hashcode
参与equals函数的字段,也必须都参与hashCode 的计算所以要重写hsahcode方法!也可参考下方链接https://blog.csdn.net/We_chuan/article/details/96426273https://blog.csdn.net/zknxx/article/details/53862572...原创 2019-11-27 11:28:50 · 102 阅读 · 0 评论 -
HashMap、Hashtable、ConcurrentHashMap是否允许null作为键值
Hashtable 是线程安全的,ConcurrentHashMap 和 Hashtable 是不允许 null 作为键和值的,HashMap允许null做为键值原创 2019-11-27 10:31:45 · 908 阅读 · 0 评论 -
使用Druid加解密数据库密码
参照https://blog.csdn.net/a1010256340/article/details/83576439原创 2019-11-22 16:59:08 · 197 阅读 · 0 评论 -
java子类父类构造方法静态方法实例方法的加载顺序
class ExecTest {public static void main(String[] args) {Son son = new Son();}}class Parent{{System.out.print(“1”);}static{System.out.print(“2”);}public Parent(){System.out.print(“3”);}}...原创 2019-11-22 16:27:53 · 256 阅读 · 0 评论 -
@Transactional注解使用解析
当作用于类上时,该类的所有 public 方法将都具有该类型的事务属性,同时,我们也可以在方法级别使用该标注来覆盖类级别的定义。在项目中,@Transactional(rollbackFor=Exception.class),如果类加了这个注解,那么这个类里面的方法抛出异常,就会回滚,数据库里面的数据也会回滚。在@Transactional注解中如果不配置rollbackFor属性,那么事物只...原创 2019-09-25 10:39:25 · 516 阅读 · 0 评论 -
copy bean的工具类
public class CopyUtils {/** * 完成bean之间的拷贝 * @param source 源对象 * @param dest 目标对象 */public static void copy(Object source, Object dest){ if (source != null) { BeanCopier copier = Bean...原创 2019-09-25 10:07:42 · 655 阅读 · 0 评论