Solace Blog

Thinking will not overcome fear but action will.

线程1

线程 马士兵老师线程示例代码;concurrent文件为源码 前言 什么是线程 如何创建一个线程 线程同步的概念 synchronized关键字 当要保证一个代码块在多线程执行时,使用synchronized关键字加锁来实现,一般的方法可以对成员变量加锁,或者也可以对this自身来加锁。 public void m() { synchr...

数据库概念

PostgreSQL 数据类型 整数类型: SMALLINT INT 任意精度浮点数类型 REAL NUMERIC(m, n) m位数保留n位 时间类型 TIME 10:05:00 DATE 1989-10-01 TIMESTAMP 2019-01-14 21:52:10 RDBMS: A: Atomicity(原子性)事务中执行...

异常

异常 异常顶层类Throwable Error:大多数此类错误都是异常情况,程序无法触及的错误,不用处理 Exception:Exception和他所有非RuntimeException子类的异常都属于checked exception,这些异常都必须进行处理,throws或者try catch; RuntimeExcept...

Jvm调优

JVM调优 主要调整两块:堆内存参数的调整、垃圾回收器的调整 JVM参数 -:标准参数,所有JVM都支持 -X:非标准参数,每个JVM实现都不同 -XX:不稳定参数,下一个版本可能会取消 内存溢出问题定位 -XX:HeapDumpOnOutOfMemoryError:把堆内存信息dump出来 -XX:HeapDumpPath=*** :demp到哪个文件里面...

Jvm监控 jconsole

无监控不调优 : JVM监控 - Jconsole ### Jconsole是JDK自带一个监控JVM运行情况的GUI工具,稳定。 官方Jconsole使用文档 启动:使用命令行切换到tomcat的bin目录下,执行jconsole即可 概览(Overview) 在需要保存的图标上右键单击可保存为(CSV)文件中,可以使用Excel打开查看数据 ...

Jvm内存模型

JVM内存模型 运行时数据区域 程序计数器(Program Counter Register) 是一块比较小的内存空间,用来标识当前线程所执行的字节码的行号指示器。处于线程独占区。如果执行java代码记录的是行号;如果是native方法,值为undefined。此区域是唯一一个在Java虚拟机中没有规定任何OutOfMemoryError情况的区域 Java虚拟机栈(Java V...

Gc回收算法

判断对象是否“存活” 首先,在发生GC时需要先确定哪些对象是否可以被回收,一般可以使用下面两种方法来区别: 引用计数法 该方法是针对每个对象添加一个计数器,每次引用一次计数器就+1;引用失效一次-1;当计数器变为0时该对象不能再被引用,此时该对象可确定为已”死去“。 但Java并未使用此方法来判断对象是否“存活”,原因是当出现相互循环引用时,这种方法并不奏效。 可达性分析算法 所...

Java8 lambda表达式

Java8 Lanbda表达式 λ表达式本质上是一个匿名方法。让我们来看下面这个例子: public int add(int x, int y) { return x + y; } 转成λ表达式后是这个样子: (int x, int y) -> x + y; 参数类型也可以省略,Java编译器会根据上下文推断出来: (x, y) -> x + y; //返...

Js知识点

JS知识点 闭包 闭包就是能够读取其他函数内部变量的函数; function test() { var temp = 100; function foo() { document.write(temp); } return foo; } var tt = test(); tt(); // 100 上面代码块中,一旦test()执行完毕,那么我们认为temp变量在外部不...

Js事件

JavaScript事件 事件绑定 ele.onxxx = function(event) {},兼容性好,基本等同于写在Html行间上 obj.addEventListener(‘on’+type, fn, false); IE9向下不兼容,可以作为一个事件绑定多个处理程序 obj.attachEvent(‘on’+type, ...