面向对象有三大特性,分别是:封装、继承和多态。封装:面向对象的封装就是把描述一个对象的属性和行为的代码封装在一个类中,有些属性是不希望公开的,或者说被其他对象访问的,所以我们使用private修饰该属性,使其隐藏起来;类中提供了方法(用public修饰),常用的是get、set方法,可以操作这些被隐 ...
分类:
编程语言 时间:
2020-06-11 19:36:52
阅读次数:
61
package Thread_test; import charactor.hero_sycn_2; //代码含义:逐渐减少英雄hp,如果英雄hp为0,就等待英雄恢复到大于0之后再继续减少到0, //展示了线程同步和wait和notify进行线程交互 public class test_1 { pu ...
分类:
编程语言 时间:
2020-04-22 12:50:14
阅读次数:
79
工作也有几年了,但是一直没有梳理,准备梳理一下,顺便如果想自学的朋友也可以参考一下~ 有问题可以留言 或者留下联系方式~ 但是太讷的问题就算了~ 比如学java高薪嘛~~难不难,30岁学还来得及嘛~~~ 这种请移步贴吧~ 分割 以后不定时更新,唔~现在还没大纲,梳理到哪算哪吧~ ...
分类:
编程语言 时间:
2020-04-19 12:37:29
阅读次数:
69
在JDBC中使用ResultSet查询SQL语句 执行查询SQL语句 步骤 1 : 查询语句 executeQuery 执行SQL查询语句 注意: 在取第二列的数据的时候,用的是rs.get(2) ,而不是get(1). 这个是整个Java自带的api里 唯二 的地方,使用 基1 的,即2就代表第二 ...
分类:
数据库 时间:
2020-03-15 09:40:41
阅读次数:
64
Java 如何开发一个自定义线程池 每一个线程的启动和结束都是比较消耗时间和占用资源的。 如果在系统中用到了很多的线程,大量的启动和结束动作会导致系统的性能变卡,响应变慢。 为了解决这个问题,引入线程池这种设计思想。 线程池的模式很像 生产者消费者模式 ,消费的对象是一个一个的能够运行的 任务 步骤 ...
分类:
编程语言 时间:
2020-03-02 10:52:33
阅读次数:
58
Java 线程之间的交互 wait和notify 线程之间有 交互通知 的需求,考虑如下情况: 有两个线程,处理同一个英雄。 一个加血,一个减血。 减血的线程,发现血量=1,就停止减血,直到加血的线程为英雄加了血,才可以继续减血 步骤 1 : 不好的解决方式 故意设计减血线程频率更高,盖伦的血量迟早 ...
分类:
编程语言 时间:
2020-03-01 10:59:04
阅读次数:
69
Java 演示多线程死锁 当业务比较复杂,多线程应用里有可能会发生 死锁 步骤 1 : 演示死锁 1. 线程1 首先占有对象1,接着试图占有对象2 2. 线程2 首先占有对象2,接着试图占有对象1 3. 线程1 等待线程2释放对象2 4. 与此同时,线程2等待线程1释放对象1 这样就会。。。一直等待 ...
分类:
编程语言 时间:
2020-02-29 18:39:37
阅读次数:
64
Java常见的线程安全相关的面试题 步骤 1 : HashMap和Hashtable的区别 HashMap和Hashtable都实现了Map接口,都是键值对保存数据的方式 区别1: HashMap可以存放 null Hashtable不能存放null 区别2: HashMap不是线程安全的类 Has ...
分类:
编程语言 时间:
2020-02-28 11:55:20
阅读次数:
56
Lambda 方法引用 步骤 1 : 引用静态方法 首先为TestLambda添加一个静态方法: public static boolean testHero(Hero h) { return h.hp 100 && h.damageh.hp 100 && h.damage TestLambda.t ...
分类:
编程语言 时间:
2020-02-20 16:47:00
阅读次数:
50
Java 中的子类泛型转型成父类泛型 步骤 1 : 对象转型 根据面向对象学习的知识,子类转父类 是一定可以成功的 package generic; import charactor.ADHero; import charactor.Hero; public class TestGeneric { ...
分类:
编程语言 时间:
2020-01-22 16:07:15
阅读次数:
83