姜源の云笔记
  • 首页
  • 分类
  • 工具
  • 标签
  • 归档
  • 关于
  • Docsify
  •   

01-线程

1. 线程创建进程:程序静止的,真正运行时的程序,才被称为进程。线程:轻量级进程(Light Weight Process),程序中的一个顺序控制流程,同时也是CPU的基本调度单位,进程由1个或多个线程组成,彼此间完成不同的工作,交替执行,称为多线程。 JVM,**Java虚拟机是一个进程(单进程)**,当中默认包含主线程(main),可通过代码创建多个独立线程,与main并发执行。 线程组
2016-04-28
02_编程语言 > 01_Java > 01_JavaSE > 05_并发和锁
#线程 #JavaSE

02-线程池

1. 线程池概念现有问题: 线程是宝贵的内存资源、单个线程约占1MB的空间,过多分配易造成内存溢出; 频繁的创建及销毁会增加虚拟机回收频率、资源开销,造成程序性能下降。 线程池: 线程容器,可设定线程分配的数量上限; 将预先创建的线程对象存入池中,并重用线程池中的线程对象; 避免频繁的创建和销毁。 2. 线程池原理将任务提交给线程池,由线程池分配线程、运行任务,并在当前任务结束后复用线程。
2016-04-28
02_编程语言 > 01_Java > 01_JavaSE > 05_并发和锁
#JavaSE #线程池

03-锁种类

1.1 乐观锁乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低。每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,采取在写时先读出,然后加锁操作(比较跟上一次的修改版本,如果一样则更新),如果失败则要重复读-比较-写的操作。Java 中的乐观锁基本都是通过 CAS 操作实现的,CAS 是一种更新的原子操作,比较当前值跟传入值是
2016-04-28
02_编程语言 > 01_Java > 01_JavaSE > 05_并发和锁
#JavaSE #锁

04-synchronized同步锁

1. synchronized同步锁(悲观锁)synchronized 它可以把任意一个非 NULL 的对象当作锁。他属于独占式的悲观锁,同时属于可重入锁。 1.1 synchronized 作用范围 作用于方法时,锁住的是**对象的实例(this)**; 作用于静态方法时,锁住的是Class实例,又因为Class的相关数据存储在永久带PermGen(jdk1.8 则是 metaspace),永久
2016-04-28
02_编程语言 > 01_Java > 01_JavaSE > 05_并发和锁
#JavaSE #锁 #synchronized

05-ReentrantLock重入锁

1. Lock接口1public interface Lock {} 提供更多实用性方法,功能更强大、性能更优越。 常用方法: void lock() // 获取锁,如锁被占用,则等待 boolean trylock() // 尝试获取锁(成功true,失败false,不阻塞) void unlock() // 释放
2016-04-28
02_编程语言 > 01_Java > 01_JavaSE > 05_并发和锁
#JavaSE #锁 #ReentrantLock

01-日志方案×2

基于 Maven,pom.xml 导包方便。 1. 日志用于记录系统中发生的各种事件。记录位置常见的有:控制台、磁盘文件等… 日志级别(从低到高):TRACE(堆栈), DEBUG(调试), INFO(普通), WARN(警告), ERROR(错误), FATAL(致命) 日志作用: 通过日志观察、分析项目的运行情况——项目维护; 通过日志分析用户的使用情况——大数据分析; … 2. 方案
2016-04-28
09_调试测试 > 01_日志记录
#日志 #log4j #logback #SLF4j

01-异常体系

1. 异常概念概念:程序在运行过程中出现的特殊情况必要性:任何程序都可能存在大量的位置问题、错误;如果不对这些问题进行正确处理,则可能导致程序的中断,造成不必要的损失。如果某个方法不能按照正常的途径完成任务,就可以通过另一种路径退出方法。在这种情况下会抛出一个封装了错误信息的对象。此时,这个方法会立刻退出同时不返回任何值。另外,调用这个方法的其他代码也无法继续执行,异常处理机制会将代码执行交给异常
2016-04-28
02_编程语言 > 01_Java > 01_JavaSE > 04_异常处理
#异常 #JavaSE #Exception

02-自定义异常

1. 自定义异常1.1 定义方式① 必须继承自Exception或Exception的子类,常用RuntimeException② 必须提供无参构造方法;③ 必须提供String message的1参构造方法,super(message);备注:受查异常CheckedException和运行时异常RuntimeException的定义方式没有区别。 12345678910111213141516
2016-04-28
02_编程语言 > 01_Java > 01_JavaSE > 04_异常处理
#异常 #JavaSE #Exception

02-logback-spring.xml日志配置

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210
2016-04-28
09_调试测试 > 01_日志记录
#Spring #logback

02-List集合

1. List接口特点:有序、有下标、元素可重复补充:继承了父接口提供的共性方法,同时定义了一些独有的与下标相关的操作方法方法:<参考jdk1.8 API>常用方法: 123456789101112131415161718192021222324252627282930313233343536boolean add(E e)将指定的元素追加到此列表的末尾(可选操作)。void add(
2016-04-28
02_编程语言 > 01_Java > 01_JavaSE > 03_泛型集合
#JavaSE #List
…48495051525354555657
CSDN GitHub Hexo Fluid
总访问量(PV) 次, 总访客数(UV) 人