编程语言:Java
Java多线程编程-(3)-从一个错误的双重校验锁代码谈一下volatile关键字
为了解决上述的问题,可以使用volatile关键字进行修饰instance字段。volatile关键字在这里的含义就是禁止指令的重排序优化(另一个作用是提供内存可见性),从而保证instance字段被初始化时,单例对象已经被完全初始化。
Java 序列化与反序列化安全分析
探讨Java 序列化与反序列化安全分析。
Java多线程编程-(2)-可重入锁以及Synchronized的其他基本特性
关键字Synchronized拥有锁重入的功能,也就是在使用Synchronized的时候,当一个线程得到一个对象的锁后,在该锁里执行代码的时候可以再次请求该对象的锁时可以再次得到该对象的锁。
Use DNS Rebinding to Bypass SSRF in Java
本文由美联安全小哥哥JoyChou提供~
教你如何成为Java的OOM Killer
前言 虽然事隔半年,当时排查线上OOM事故的过程记忆犹新,每一个步骤都历历在目,感谢业务组、系统部、压测组、监控与应急部对架构组的强力支持,得以让这个Java内存问题水落石出...
JAVA笔记-如何将百万级数据高效的导出到Excel表单
今天,一朋友问我使用JAVA有没有什么办法导出百万级的数据到Excel工作表。 当时我的第一个念头就是这真的是一个好疯狂的念头。然后就想假如真的有这样类似的需求,我自己应该怎么做呢? ps: 首先科普一下基础知识 Excel 2003及以下的版本。一张表最大支持65536行数据,256列。也就是说e
Java中String的hash函数分析
JDK6的源码: * Returns a hash code for this string. The hash code for a * String object is computed as * s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1] * using int arithmetic,…
java为什么要重写hashCode和equals方法
在我们的业务系统中判断对象时有时候需要的不是一种严格意义上的相等,而是一种业务上的对象相等。在这种情况下,原生的equals方法就不能满足我们的需求了,所以这个时候我们需要重写equals方法,来满足我们的业务系统上的需求。
In Java, difference between default, public, protected, and private
In Java, are there clear rules on when to use each of access modifiers, namely the default (package private), public, protected and private, while making class and interface and dealing with inheri...