![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
皮皮猪小娃
这个作者很懒,什么都没留下…
展开
-
Java基础
public class HelloWorld { public static void main(String[] args) { System.out.println(“HelloWorld”); } } 根据简单的这个小程序我们知道: 1、为什么main函数是static? 因为在Java中,所有的事物都要以类的形式存在,main函数也是在类中定义的函数,要想不与类的实列关联,就必须声明...原创 2018-10-02 15:45:35 · 208 阅读 · 0 评论 -
递归
递归的优点: 简洁,代码量小,比循环简单 缺点:不易理解,如果递归太深有可能出现溢出栈。 递归的思想:就是将大规模的问题转化为相识的规模小,具有原来问题相同解法的问题,要存在一个临界值使得循环可以停止。 例子: 1.求阶乘 public static int fac1(int n){//递归:保护现场 int tmp = 1; if(n == 1){ ret...原创 2018-10-28 11:15:49 · 87 阅读 · 0 评论 -
FilterWriter
FilterWriter作为抽象类,继承了父类Writer抽象类,除了简单覆盖父类方法,没有添加额外的方法.它也拥有Writer的属性:所有已实现的接口:Closeable, Flushable, Appendable 用于写入已过滤的字符流的抽象类。抽象类 FilterWriter 自身提供了一些将所有请求传递给所包含的流的默认方法。FilterWriter 的子类应重写这些方法中的一些方法,并...原创 2019-03-27 18:23:41 · 657 阅读 · 0 评论 -
ConcurrentHashMap
1、ConcurrentHashMap底层数据结构是什么? ConcurrentHashMap是由Segment数组结构和HashEntry数组加链表结构组成。Segment是一种可重入锁ReentrantLock,在ConcurrentHashMap中扮演锁的角色,HashEntry则用于存储键值对数据。一个ConcurrentHashMap中包含一个Segment数组,Segment的结构和H...原创 2019-04-25 20:56:18 · 194 阅读 · 0 评论 -
线程池
1.为什么要有线程池? 线程使应用能够更加充分合理地协调利用CPU、内存、网络、I/O等系统资源. 线程的创建需要开辟虚拟机栈、本地方法栈、程序计数器等线程私有的内存空间; 在线程销毁时需要回收这些系统资源. 频繁地创建和销毁线程会浪费大量的系统资源,增加并发编程风险. 在服务器负载过大的时候,如何让新的线程等待或者友好地拒绝服务? 这些都是线程自身无法解决的; 所以需要通过线程池协调多个线程,并...原创 2019-05-07 17:20:57 · 165 阅读 · 0 评论