随笔分类 -  Java

摘要:自定义线程池的核心:ThreadPoolExecutor 为了更好的控制多线程,JDK提供了一套线程框架Executor,帮助开发人员有效的进行线程控制,其中在java.util.concurrent包下,是JDK并发包的核心,比如我们熟知的Executors。Executors扮演着线程工厂的角色 阅读全文
posted @ 2018-12-05 12:59 如.若 阅读(910) 评论(0) 推荐(0)
摘要:类加载器是 Java 语言的一个创新,也是 Java 语言流行的重要原因之一。它使得 Java 类可以被动态加载到 Java 虚拟机中并执行。类加载器从 JDK 1.0 就出现了,最初是为了满足 Java Applet 的需要而开发出来的。Java Applet 需要从远程下载 Java 类文件到浏 阅读全文
posted @ 2018-12-03 09:38 如.若 阅读(271) 评论(0) 推荐(0)
摘要:Java 的 I/O 类库的基本架构 I/O 问题是任何编程语言都无法回避的问题,可以说 I/O 问题是整个人机交互的核心问题,因为 I/O 是机器获取和交换信息的主要渠道。在当今这个数据大爆炸时代,I/O 问题尤其突出,很容易成为一个性能瓶颈。正因如此,所以 Java 在 I/O 上也一直在做持续 阅读全文
posted @ 2018-11-30 14:16 如.若 阅读(606) 评论(0) 推荐(0)
摘要:栈是先入后出,队列是先入先出。根据这个思想,可以用一个栈作为入队,另一个栈作为出队。只要把第一个栈的栈顶的元素压入第二个栈就好了,出队的时候输出第二个栈的栈顶,如果第二个栈的空了就需要不断操作从第一个栈的栈顶压入第二个栈,但是如果第一个栈也空了,那就说明所有元素都输出来了。 最终结果 阅读全文
posted @ 2018-11-29 14:07 如.若 阅读(2795) 评论(0) 推荐(0)
摘要:在不只一个线程访问一个互斥的变量时,所有线程都必须使用同步,否则就可能会发生一些非常糟糕的事情。Java 语言中主要的同步手段就是 synchronized 关键字(也称为内在锁),它强制实行互斥,确保执行 synchronized 块的线程的动作,能够被后来执行受相同锁保护的 synchroniz 阅读全文
posted @ 2018-11-29 11:05 如.若 阅读(598) 评论(0) 推荐(0)
摘要:在Java的编译体系中,一个Java的源代码文件变成计算机可执行的机器指令的过程中,需要经过两段编译,第一段是把.java文件转换成.class文件。第二段编译是把.class转换成机器指令的过程。 第一段编译就是javac命令。 在第二编译阶段,JVM 通过解释字节码将其翻译成对应的机器指令,逐条 阅读全文
posted @ 2018-10-07 10:48 如.若 阅读(572) 评论(1) 推荐(1)
摘要:互斥同步 互斥同步(Mutual Exclusion & Synchronization)是常见的一种并发正确性保证手段。同步是指子啊多个线程并发访问共享数据时,保证共享数据在同一时刻只能被一个(或者是一些,使用信号量的时候)线程使用。而互斥是实现同步的一种手段,临界区(Critial Sectio 阅读全文
posted @ 2018-10-06 23:09 如.若 阅读(327) 评论(0) 推荐(0)
摘要:Jaxb是JavaEE的规范.全称Java Architecture for XML Binding. 可以根据XML Schema产生Java类的技术,JAXB也提供了将XML实例文档反向生成Java对象树的方法,并能将Java对象树的内容重新写到XML实例文档. JAXB 2.0是JDK 1.6 阅读全文
posted @ 2018-06-11 13:40 如.若 阅读(445) 评论(0) 推荐(0)
摘要:一、Synchronized synchronized中文解释是同步,那么什么是同步呢,解释就是程序中用于控制不同线程间操作发生相对顺序的机制,通俗来讲就是2点,第一要有多线程,第二当多个线程同时竞争某个资源的时候会有先后顺序。在java中有三种写synchronized的方式: 第一种:写在普通方 阅读全文
posted @ 2018-04-26 10:49 如.若 阅读(1577) 评论(0) 推荐(0)
摘要:是什么? 自动装箱就是Java自动将原始类型值转换成对应的对象,比如将int的变量转换成Integer对象,这个过程叫做装箱,反之将Integer对象转换成int类型值,这个过程叫做拆箱。 为什么 把一个基本类型包装成一个类,这样就可以使这个类型具有很多可以调用的方法。而且Java向面像对象语言的靠 阅读全文
posted @ 2018-04-26 10:33 如.若 阅读(207) 评论(0) 推荐(0)
摘要:一.代码实例 代码来源于网络 阅读全文
posted @ 2017-09-28 13:27 如.若 阅读(12676) 评论(1) 推荐(0)
摘要:1. 单一职责原则(Single Responsibility Principle) 每一个类应该专注于做一件事情。 2. 里氏替换原则(Liskov Substitution Principle) 超类存在的地方,子类是可以替换的。 3. 依赖倒置原则(Dependence Inversion P 阅读全文
posted @ 2017-06-01 15:21 如.若 阅读(1495) 评论(0) 推荐(0)
摘要:一. 缓存原理 高并发情境下首先考虑到的第一层优化方案就是增加缓存,尤其是通过Redis将原本在数据库中的数据复制一份放到内存中,可以减少对数据库的读操作,数据库的压力降低,同时也会加快系统的响应速度,但是同样的也会带来其他的问题,比如需要考虑数据的一致性、还需要预防可能的缓存击穿、穿透和雪崩问题等 阅读全文
posted @ 2016-09-22 16:11 如.若 阅读(297) 评论(0) 推荐(0)
摘要:Java 编辑器支持 Code Minings 功能 Java 编辑器现在可以在 Java 元素的上方以“装饰文本”的形式显示实现和引用的数量,即 Code Minings(代码挖掘)功能 Java 编辑器现在可以在 Java 元素的上方以“装饰文本”的形式显示实现和引用的数量,即 Code Min 阅读全文
posted @ 2015-07-06 13:13 如.若 阅读(815) 评论(0) 推荐(0)
摘要:正常情况下,每个子线程完成各自的任务就可以结束了。不过有的时候,我们希望多个线程协同工作来完成某个任务,这时就涉及到了线程间通信了。 本文涉及到的知识点: thread.join(), object.wait(), object.notify(), CountdownLatch, CyclicBar 阅读全文
posted @ 2013-09-13 18:36 如.若 阅读(570) 评论(0) 推荐(0)