摘要: 1、在主函数中使用join()方法。 t1.start(); t2.start(); t3.start(); t1.join();//不会导致t1和t2和t3的顺序执行 t2.join(); t3.join(); System.out.println("Main finished"); 2、Coun 阅读全文
posted @ 2020-04-19 21:44 MrHH 阅读(731) 评论(0) 推荐(0) 编辑
摘要: 在多线程的环境下,经常会遇到数据的共享问题,即当多个线程需要访问同一资源时,它们需要以某种顺序来确保该资源在某一时刻只能被一个线程使用,否则,程序的运行结果将会是不可预料的,在这种情况下,就必须对数据进行同步。 在Java中,提供了四种方式来实现同步互斥访问:synchronized、Lock、wa 阅读全文
posted @ 2020-04-19 13:25 MrHH 阅读(903) 评论(0) 推荐(0) 编辑
摘要: 1、网站的高并发,大流量访问怎么解决? 1)HTML页面静态化 访问频率较高但内容变动较小,使用网站HTML静态化方案来优化访问速度。将社区内的帖子、文章进行实时的静态化,有更新的时候再重新静态化也是大量使用的策略。 优势: 减轻服务器负担。 加快页面打开速度,静态页面无需访问数据库,打开速度较动态 阅读全文
posted @ 2020-04-15 18:03 MrHH 阅读(457) 评论(0) 推荐(0) 编辑
摘要: 1、Java中的同步容器类和缺陷 在Java中,同步容器主要包括2类: 1)Vector、HashTable。 2)Collections类中提供的静态工厂方法创建的类。Collections.synchronizedXXX()。 缺陷: 1)性能问题。 在有多个线程进行访问时,如果多个线程都只是进 阅读全文
posted @ 2020-04-13 14:50 MrHH 阅读(381) 评论(0) 推荐(0) 编辑
摘要: 当程序在运行过程中,会将运算需要的数据从主存复制一份到CPU高速缓存中,那么CPU进行计算时就可以从它的高速缓存读取数据和向其中写入数据,当运算结束后,再将高速缓存中的数据刷新到主存当中。举个简单的例子,比如下面的这段代码: i = i+1; 当线程执行这个语句时,会先从主存当中读取i的值,然后复制 阅读全文
posted @ 2020-04-13 12:20 MrHH 阅读(3959) 评论(1) 推荐(0) 编辑
摘要: 1、标识符的命名规则 标识符只能由数字、字母(a-z、A-Z)、下划线( _ )和$组成,并且第一个字符不能为数字。 2、instanceof关键字的作用 用法:对象 A instanceof 类B。 instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。注 阅读全文
posted @ 2020-04-11 15:03 MrHH 阅读(554) 评论(0) 推荐(0) 编辑
摘要: 观察者设计模式定义了对象间的一对多依赖关系,让一个或多个观察者对象观察一个主题对象。当主题对象的状态发生变化时,系统能通知所有的依赖于此对象的观察者对象,从而使得观察者对象能够自动更新。 在观察者模式种,被观察的对象常常也被称为目标或主题(Subject),依赖的对象被称为观察者(Observer) 阅读全文
posted @ 2020-04-10 20:29 MrHH 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 原型模式 主要用于对象的复制,实现一个接口(实现Cloneable接口),重写一个方法(重写Object类中的clone方法),即完成了原型模式。 原型模式中的拷贝分为“浅拷贝”和“深拷贝”: 浅拷贝:对值类型的成员变量进行值的复制,对引用类型的成员变量只复制引用,不复制引用的对象。 深拷贝:对值类 阅读全文
posted @ 2020-04-10 20:25 MrHH 阅读(248) 评论(0) 推荐(0) 编辑
摘要: WeakHashMap与HashMap WeakHashMap中的key采用的是“弱引用”的方式,只要WeakHashMap中的key不再被外部引用,所对应的键值对就可以被垃圾回收器回收。 HashMap中的key采用的是“强引用”的方式,当key不再被外部引用时,只有当这个key从HashMap中 阅读全文
posted @ 2020-04-10 20:03 MrHH 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 说下对象的创建方法?对象的内存布局?对象的访问定位? 四种不同的方法创建对象 1、用new语句创建对象,这是最常用的创建对象的方式; 2、调用对象的clone方法。 MyObject obj =new MyObject(); MyObject objs= obj.clone(); 使用clone方法 阅读全文
posted @ 2020-04-09 21:44 MrHH 阅读(294) 评论(0) 推荐(0) 编辑