摘要: -Xss 每个线程的栈大小 阅读全文
posted @ 2020-06-05 22:25 咔啡 阅读(400) 评论(0) 推荐(0)
摘要: 同步块是更好的选择,因为它不会锁住整个对象(当然你也可以让它锁住整个对 象)。同步方法会锁住整个对象,哪怕这个类中有多个不相关联的同步块,这通 常会导致他们停止执行并需要等待获得这个对象上的锁。 同步块更要符合开放调用的原则,只在需要锁住的代码块锁住相应的对象,这样 从侧面来说也可以避免死锁。 阅读全文
posted @ 2020-06-05 21:39 咔啡 阅读(1638) 评论(0) 推荐(0)
摘要: 有两种方式: 1). 实现 Cloneable 接口并重写 Object 类中的 clone()方法; 2). 实现 Serializable 接口,通过对象的序列化和反序列化实现克隆,可以实现真 正的深度克隆,代码如下。 import java.io.ByteArrayInputStream; i 阅读全文
posted @ 2020-06-05 21:17 咔啡 阅读(1236) 评论(0) 推荐(0)
摘要: 1、乐观锁:就像它的名字一样,对于并发间操作产生的线程安全问题持乐观状态, 乐观锁认为竞争不总是会发生,因此它不需要持有锁,将比较-替换这两个动作作 为一个原子操作尝试去修改内存中的变量,如果失败则表示发生冲突,那么就应 该有相应的重试逻辑。 2、悲观锁:还是像它的名字一样,对于并发间操作产生的线程 阅读全文
posted @ 2020-06-05 19:51 咔啡 阅读(883) 评论(0) 推荐(0)
摘要: 在最外层循环前加一个标记如 A,然后用 break A;可以跳出多重循环。(Java 中 支持带标签的 break 和 continue 语句,作用有点类似于 C 和 C++中的 goto 语 句,但是就像要避免使用 goto 一样,应该避免使用带标签的 break 和 continue, 因为它不 阅读全文
posted @ 2020-06-05 19:47 咔啡 阅读(287) 评论(0) 推荐(0)
摘要: kill -3 [java pid] 不会在当前终端输出,它会输出到代码执行的或指定的地方去。比如,kill -3 tomcat pid, 输出堆栈到 log 目录下。 Jstack [java pid] 这个比较简单,在当前终端显示,也可以重定向到指定文件中。 -JvisualVM:Thread 阅读全文
posted @ 2020-06-05 19:26 咔啡 阅读(1476) 评论(0) 推荐(0)
摘要: Volatile 变量可以确保先行关系,即写操作会发生在后续的读操作之前, 但它并不 能保证原子性。例如用 volatile 修饰 count 变量那么 count++ 操作就不是原子 性的。 而 AtomicInteger 类提供的 atomic 方法可以让这种操作具有原子性如 getAndInc 阅读全文
posted @ 2020-06-05 19:16 咔啡 阅读(2049) 评论(0) 推荐(0)
摘要: Java 平台提供了两种类型的字符串:String 和 StringBuffer/StringBuilder,它 们可以储存和操作字符串。其中 String 是只读字符串,也就意味着 String 引用的 字符串内容是不能被改变的。而 StringBuffer/StringBuilder 类表示的字 阅读全文
posted @ 2020-06-05 19:14 咔啡 阅读(193) 评论(0) 推荐(0)
摘要: 调用基本数据类型对应的包装类中的方法 parseXXX(String)或 valueOf(String)即可返回相应基本类型; 一种方法是将基本数据类型与空字符串(”“)连接(+)即可获得其所 对应的字符串;另一种方法是调用 String 类中的 valueOf()方法返回相应字符串 阅读全文
posted @ 2020-06-05 19:13 咔啡 阅读(1618) 评论(0) 推荐(0)
摘要: JavaScript 与 Java 是两个公司开发的不同的两个产品。Java 是原 Sun Microsystems 公司推出的面向对象的程序设计语言,特别适合于互联网应用程序 开发;而 JavaScript 是 Netscape 公司的产品,为了扩展 Netscape 浏览器的功 能而开发的一种可 阅读全文
posted @ 2020-06-05 19:04 咔啡 阅读(374) 评论(0) 推荐(0)
摘要: final:修饰符(关键字)有三种用法:如果一个类被声明为 final,意味 着它不能再派生出新的子类,即不能被继承,因此它和 abstract 是反义词。将 变量声明为 final,可以保证它们在使用中不被改变,被声明为 final 的变量必须 在声明时给定初值,而在以后的引用中只能读取不可修改。 阅读全文
posted @ 2020-06-05 18:39 咔啡 阅读(291) 评论(0) 推荐(0)