On the way

thread.join-vs-wait

join 和 wait 区别? Thread 类里定义了三个join 方法: // 等待当前这个线程结束,但是最多等待 millis 毫秒,millis=0表示永远等待 public final synchronized void join(long millis) throws InterruptedException { long base = System.currentT...

TPS和QPS区别

TPS 和 QPS 区别 QPS:Queries Per Second,每秒查询率,是一台服务器每秒能够响应的请求次数,是对一个特定的查询服务器在规定时间内所处理请求多少的衡量标准。 TPS:Transactions Per Second,每秒处理的事务数,一般是指每秒处理的原子操作数(事务的原子性?)。严格来讲一般用于数据库管理系统。 参考 https://en.wikipe...

RocketMQ

Quick start 下载 在 ~/.bashrc 配置 export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home 并使之生效 source ~/.bashrc。 启动 nameserver nohup sh bin/mqnamesrv & tail...

ProcessBuilder 和 Runtime 的区别

ProcessBuilder 和 Runtime 的区别 Runtime是java1.0就有的API,ProcessBuilder是1.5才添加,但是目前看源代码,Runtime的内部实现其实就是用的ProcessBuilder。 Runtime public class Runtime { private static Runtime currentRuntime = new...

System.exit-vs-return

System.exit()和return的区别? 在main()中的区别: 当用return返回时,main()并不能立即运行结束,因为可能有其他的非后台线程正在执行。 而用System.exit(数值);时,main()将立即无条件的结束。 system.exit(0)表示程序正常退出,system.exit(1)表示非正常退出,都没有返回值。 参考: https://blog....

thread

创建线程的几种方式 直接创建线程 Java 中实现多线程有两种方法:继承 Thread 类、实现 Runnable 接口。在程序开发中只要是多线程,肯定永远以实现 Runnable 接口为主,因为实现 Runnable 接口相比继承 Thread 类有如下优势: 可以避免由于 Java 的单继承特性而带来的局限; 增强程序的健壮性,代码能够被多个线程共享,代码与数据是独立的; 适合多个...

socket

socket 学习 单客户端连接 Server public class Server { public static void main(String[] args) throws IOException { // 端口号是从0~65535之间的,前1024个端口已经被Tcp/Ip 作为保留端口,因此你所分配的端口只能是1024个之后的 //...

Cannot-add-the-foreign-key-constraint

Cannot add the foreign key constraint 在两个数据表之间添加外键的时候报错 Cannot add the foreign key constraint 原因:mysql要求两个进行关联的键之间有相同数据类型和属性。一般我们关联的是一个表的主键和另一个表的某一列。 而创建主键时可能会默认加上 “unsigned” 以及 not Allow Null等。 ...

java-rmi

Java RMI (远程方法调用) 它是一种机制,能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法。 1. 创建 远程对象 (Remote Object) 创建定义client/server 交流的接口(interface) 首先为远程对象创建接口,该接口继承 java.rmi.Remote。接口中的每个方法都要抛出异常 java.rmi.R...

getResourceAsStream