java基础之旅
wu_tree
这个作者很懒,什么都没留下…
展开
-
JAVA基础之旅--比较器 Comparable和Comaprator
JAVA内置的比较器有两个,分别是Comparable和Comparator接口。Comparable比较器Comparable可以理解为内部比较器,需要比较的类要实现Comparable接口,不好的地方在于需要改变目标类。public class Student implements Comparable<Student> { private String nam...原创 2018-04-02 17:35:04 · 191 阅读 · 0 评论 -
JAVA基础之旅--ScheduledThreadPoolExecutor
ScheduledThreadPoolExecutor 是JDK中提供的定时任务处理类。官方推荐优于Timer。1、构造方法ScheduledThreadPoolExecutor(int corePoolSize) 使用给定核心池大小创建一个新定定时线程池。ScheduledThreadPoolExecutor(int corePoolSize,ThreadFactoryThrea...原创 2018-04-02 11:41:23 · 139 阅读 · 0 评论 -
JAVA—将异步API改成同步调用的方法
看起来有点绕,说一个具体的场景应该容易理解一点:从APP向服务器发送一个改变灯光的HTTP请求,服务器返回执行是否成功的结果;服务器接收到HTTP请求后,通过MQTT向台灯下发控制指令,等待台灯回复①,返回结果;台灯接收到MQTT指令后,执行命令,然后通过MQTT回复消息给服务器②;通常来说,后台会有一个专门的服务订阅一个固定的Topic,接收台灯的消息,所以①中,不可能是处理HTTP...原创 2018-08-08 18:59:17 · 4249 阅读 · 2 评论 -
JAVA基础之旅——方法模版中,父类方法使用子类同名变量的方法
有时候在开发中会遇到方法模版的问题,具体场景为: 1、为了代码质量,会将一个出现较多的代码抽出来,放入抽象父类,然后子类继承父类。 2、但是如果抽出来的方法需要使用到类的变量就会变的麻烦,因为JAVA中方法支持Override,但是变量是不行的,所以如果直接在父类中通过变量名使用变量,那么当我们的子类变量不一样时 ,得到的结果就不是想要的了。 3、既然方法支持Override,那我们可以通过...原创 2018-09-04 17:51:03 · 1090 阅读 · 1 评论 -
二分查找法-JAVA源码
以下是java.util.arrays,java源码的二分查找实现,使用的是循环,而不是递归,更好理解。 private static int binarySearch(int[] a, int fromIndex, int toIndex, int key) { int low = fromIn...原创 2019-04-16 10:02:59 · 208 阅读 · 0 评论 -
深入理解JVM虚拟机-运行时数据区域
JAVA 运行时内存数据区域java虚拟机执行JAVA程序时 ,会将内存按照用途不同进行分区。有的区域随虚拟机生存时间创建和销毁,有的随线程启动而销毁。分区图如下:程序计数器程序计数器是当前线程所执行字节码的行号zh指示器,字节码解释器通过计数器来选取下一条需要执行的字节码,实现分支、循环、跳转、异常处理、线程恢复等。每个线程都拥有自己的程序计数器,这个很容易理解,因为每个线程的执行动作...原创 2019-05-30 14:43:48 · 163 阅读 · 0 评论