Java 调试与监控
启动参数
Java 的启动参数有运行时参数 和 JVM 参数,运行时参数就是 main 方法中的 args,而 JVM 参数是我们最常用的启动参数。
标准参数
标准参数(-):相对稳定的参数,每个版本的 JVM 都可用
非标 X 参数
非标 X 参数(-X):默认 JVM 实现参数的功能,但是不保证所有 JVM 都实现,不保证向后兼容
-Xms(memory start):堆初始大小(默认为物理内存的 1/64)
-Xmx(memory max):堆最大值(默认为物理内存的 1/4 或者 1G)
-Xss(stack size):线程栈的大小(一般默认为 512k)
-Xmn:年轻代的初始值及最大值(可用 -XX:NewSize 和 -XX:MaxNewSize 来分别设置)
-Xmixed:默认为混合模式,开始解释执行,启动速度较快,对热点代码实行检测和编译。
-Xint: 使用解释模式,启动很快,执行稍慢。
-Xcomp: 使用纯编译模式,执行很快,启动很慢。
非标 XX 参数
非标 XX 参数(-XX):各个 JVM 实现会有所不同,将来可能会随时取消
-XX:MaxDir ...
Java 多线程
集合
线程安全
HashTable, CocurrentHashMap
Vector, Stack
StringBuffer
线程不安全
HashMap, TreeMap, LinkedHashMap
HashSet, TreeSet, LinkedHashSet
ArrayList, LinkedList
StringBuilder
线程规范与管理
线程规范
创建新线程时指定名称
不要依赖线程调度器、线程优先级和 yield()方法
采用 Java1.5 提供新并发工具代替 wait()和 notify()
线程管理
禁用 Thread 的 run
避免不加控制地创建新线程,而应该使用线程池来管控资源
线程中断有业务代码来协作完成,慎用 Thread.interrupt
禁用 Thread 的 stop
线程同步
关键字
synchronized
Jvm 对 synchronized 做了优化:锁消除,锁粗化,偏向锁,轻量级锁
volatile
可见性
不保证原子性
禁止进行指令重排序(有序性)
线程不安全性
Atomic 类:保证原子操作
线程同步类 ...
Java 基础
基本数据类型
byte:字节,1 byte,8 bits (-128~127)
char:字符,2 bytes,如 ‘\n’, ‘\u0012’, ‘我’
字符是字节通过不同编码的包装
字符向字节转换时,需要注意编码问题
short:短整型,2 bytes
int:整型,4 bytes
long:长整型,8 bytes
float:短浮点型,4 bytes
double:浮点型,8 bytes (默认浮点)
类型转换:低到高
低 --------------------------------------------------> 高
byte,short,char—> int —> long—> float —> double
注意 final 修饰的变量不会自动转型。
Class and Interface
Interface
Interface 也可以有成员变量,默认修饰符:public static final,interface 不能有构造方法。
Interface 可以用 public,protected,default 来修饰 ...
Swarm Trajectory Planning Using Bernstein Basis (Paper Reading)
This post describes trajectory generation methods using Bernstein polynomial and safe flight corridor.
Stabilizability (Control Theory Learning 6)
This post describes the stabilizability of a physical system.
Observability (Control Theory Learning 5)
This post describes the observability of a state space model.
Similar Matrix and Jordan Form (Control Theory Learning 2)
This post describes the similar matrix and Jordan form of a state space model.
Stability (Control Theory Learning 3)
This post describes the stability of a state space model.
Controllability (Control Theory Learning 4)
This post describes the controllability of a state space model.
Fundamental Concepts (Control Theory Learning 1)
Fundamental Concepts
State Space Model
Given a system, we have various methods to define its properties, including State Space Model,
Transfer function, Odinary differential equations and etc. Different description methods can be interchanged.
Example
Given a CT(Continuous-time) or DT(Discrete-time) system,
CT:x˙(t)=Ax(t)+Bu(t)y(t)=Cx(t)+Du(t)DT:x(t+1)=Ax(t)+Bu(t)y(t)=Cx(t)+Du(t)\begin{split}
\mathrm{CT}: \quad & \dot{x}(t) = Ax(t) + Bu(t) \\
& y(t) = Cx(t) + ...