java基础
qq_19006739
这个作者很懒,什么都没留下…
展开
-
java线程池的核心线程数与最大的线程数的区别,饱和策略
1、当提交一个新任务到线程池时首先线程池判断基本线程池(corePoolSize)是否已满?没满,创建一个工作线程来执行任务。满了,则进入下个流程;其次线程池判断工作队列(workQueue)是否已满?没满,则将新提交的任务存储在工作队列里。满了,则进入下个流程;最后线程池判断整个线程池(maximumPoolSize)是否已满?没满,则创建一个新的工作线程来执行任务,满了,则交给饱和策略来处理这...原创 2018-03-25 17:21:58 · 41709 阅读 · 3 评论 -
多线程--多个线程循环顺序的多种实现。
问题:3个线程按顺序打印ABC,A线程打印A,B线程打印B,C线程打印C.实现一:使用synchronized关键字:package com.Thread; import java.util.concurrent.atomic.AtomicInteger; /** * Created by Administrator on 2018/3/25 0025. */ public class P...原创 2018-03-25 17:29:27 · 1692 阅读 · 0 评论 -
JVM常用参数
-Xloggc:log/gc.log #gc日志文件 -XX:+PrintGCDetails #打印gc详细信息 -verbose.gc #开关可显示GC的操作内容。打开它,可以显示最忙和最空闲收集行为发生的时间、收集前后的内存大小、收集需要的时间等。-Xmx –Xms #指定最大堆和最小堆-Xmn #设置新生代大小-XX:NewRatio #新生代(eden+2*s)和老年代(不包含永...原创 2018-03-25 17:55:29 · 140 阅读 · 0 评论 -
Netty入门
Netty是基于Java NIO封装的网络通讯框架,只有充分理解了Java NIO才能理解好Netty的底层设计。Java NIO有几个重要的概念Channel,Buffer,Selector。NIO是基于Channel和Buffer操作的,数据只能通过Buffer写入到Channel或者从Channel读出数据到Buffer中。Selector可以监听多个通道的事件(连接打开,数据到达),这...原创 2018-05-01 16:41:20 · 172 阅读 · 0 评论