JAVA 面试,你常常忘记它们 2016/08/27 · 开发 · 2 条评论
Java面试中的一些经常被问及的问题,而面试者经常会忽视这些点
阅读全文 »
专门为了面试而学的 Java 2016/08/27 · 开发 · 3 条评论
为了面试去学习了Java,在此做一些记录,其中包括一些基本知识和面试题目。
JVM 方法调用的那些事 2016/08/26 · 开发 · 1 条评论
Java文件在编译过程中不会进行传统编译的连接步骤,方法调用的目标方法以符号引用的方式存储在Class文件中,这种多态特性给Java带来了更灵活的扩展能力,但也使得方法调用变得相对复杂,需要在类加载期间,甚至到运行期间才能确定目标方法的直接引用。
JVM 类加载的那些事 2016/08/25 · 开发
Java源代码被编译成class字节码,最终需要加载到虚拟机中才能运行。整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载7个阶段。
Java 程序死锁问题原理及解决方案 2016/08/25 · 开发
本文首先介绍了死锁发生的原因,并通过一个示例解释了死锁发生的前提情况。然后通过 JVM 的 jstack 工具演示了如何确定一个死锁的发生。最后对死锁的预防、恢复等方式进行了解释。
深入浅出 ReentrantLock 2016/08/24 · 开发
Java5之后,并发包中新增了Lock接口(以及相关实现类)用来实现锁的功能,它提供了与synchronized关键字类似的同步功能。既然有了synchronized这种内置的锁功能,为何要新增Lock接口?
JVM 内存的那些事 2016/08/23 · 开发
对于C语言开发的程序员来说,在内存管理方面,必须负责每一个对象的生命周期,从有到无。对于Java程序员你来说,在虚拟机内存管理的帮助下,不需要为每个new对象都匹配free操作,内存泄露和内存溢出等问题也不太容易出现,不过也正是因为把内存管理交给了虚拟机,一旦运行中的程序出现了内存泄露问题,给排查过程造成很大困难。
深入浅出 Java 同步器 2016/08/23 · 开发 · 1 条评论
在 java.util.concurrent.locks 包中有很多Lock的实现类,常用的有ReentrantLock、ReadWriteLock(实现类ReentrantReadWriteLock),内部实现都依赖AbstractQueuedSynchronizer类,接下去让我们看看Doug Lea大神是如何使用一个普通类就完成了代码块的并发访问控制。
ZooKeeper Watcher 和 AsyncCallback 的区别与实现 2016/08/22 · 开发
初学 Zookeeper 会发现客户端有两种回调方式: Watcher 和 AsyncCallback,而 Zookeeper 的使用是离不开这两种方式的,搞清楚它们之间的区别与实现显得尤为重要。
深入浅出 Java 线程池 2016/08/19 · 开发
线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配、调优和监控。
深入浅出 synchronized 2016/08/18 · 开发
synchronized可以保证方法或代码块在运行时,同一时刻只有一个线程可以进入到临界区(互斥性),同时它还保证了共享变量的内存可见性。Java中的每个对象都可以作为锁。
深入浅出 ThreadLocal 2016/08/18 · 开发 · 2 条评论
ThreadLocal为变量在每个线程中都创建了一个副本,所以每个线程可以访问自己内部的副本变量,不同线程之间不会互相干扰。本文会基于实际场景介绍ThreadLocal如何使用以及内部实现机制。应用场景最近的一个web项目中,由于Parameter对象的数据需要在多个模块中使用,如果采用参数传递的方式,显然会增加模块之间的耦合性。
远程方法调用(RMI)原理与示例 2016/08/16 · 开发
程方法调用(RMI)顾名思义是一台机器上的程序调用另一台机器上的方法。这样可以大致知道RMI是用来干什么的,但是这种理解还不太确切。RMI是Java支撑分布式系统的基石,例如著名的EJB组件。RMI是远程过程调用(RPC)的一种面向对象实现,RMI底层是通过socket通信和对象序列化技术来实现的。
JUnit 单元测试 2016/08/16 · 开发
JUnit带给我们的不仅是开发效率、代码质量的提高,更是一种思想的提高,现在都在讲测试驱动开发、回归质量大概就是这种思想。
ThreadLocal 内存泄露的实例分析 2016/08/10 · 开发 · 12 条评论
上篇是从理论上分析ThreadLocal的内存泄漏问题,今天来分析实际案例。分析问题的过程比结果更重要,理论结合实际才能彻底分析出内存泄漏的原因。案例与分析问题背景在 Tomcat 中,下面的代码都在 webapp 内,会导致WebappClassLoader泄漏,无法被回收。
Java JDK 动态代理使用及实现原理分析 2016/08/08 · 开发 · 2 条评论
代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理
深入分析 ThreadLocal 内存泄漏问题 2016/08/07 · 开发
ThreadLocal 的作用是提供线程内的局部变量,这种变量在线程的生命周期内起作用,减少同一个线程内多个函数或者组件之间一些公共变量的传递的复杂度。但是如果滥用 ThreadLocal,就可能会导致内存泄漏。
从一次 FULL GC 卡顿谈对服务的影响 2016/08/04 · IT技术
Full GC 的时间和次数是管理 java 的应用服务不得不考虑的问题,高吞吐量和低停顿是追求高质量服务重要目标,从而会有根据业务的特点衍生出各种垃圾回收器。在实战中如何根据如何使用 ParNew ,CMS 等回收器和配置各种参数,要在理论结合实践中不断优化。
JDK8 Stream API中Collectors中toMap方法的问题以及解决方案 2016/08/01 · 开发 · 9 条评论
JDK8 Stream API中Collectors中toMap方法的问题 1、key不能重复 2、value不能是null
Getty:Java NIO 框架设计与实现 2016/07/31 · 开发 · 2 条评论
Getty是我为了学习 Java NIO 所写的一个 NIO 框架,实现过程中参考了 Netty 的设计,同时使用 Groovy 来实现。虽然只是玩具,但是麻雀虽小,五脏俱全,在实现过程中,不仅熟悉了 NIO 的使用,还借鉴了很多 Netty 的设计思想,提升了自己的编码和设计能力。
0 克劳德·香农(信息论之父):天才的...
1 Python 中星号的本质及其使用方式
2 14 个依然很棒的 Linux ASCI...
.Net Android App Bug C++ C sharp CSS C语言 Facebook featuredpost Git Github Go Google Hadoop HTML5 iOS IT java Javascript jQuery Linux MySQL Nginx Node.js NoSQL php Python Redis shell soho SQL SQL Server UI UI设计 Vim Web Web开发 书籍 互联网 交互设计 产品 产品经理 代码 分布式 创业 前端 团队 大数据 女程序员 威客 学习 安全 安卓开发 客户 屌程 工具 工程师 开发人员 开源 微软 技术面试 招聘 效率 教程 数学 数据库 数据结构 时间管理 服务器 机器学习 架构 测试 浏览器 游戏 用户 用户体验 界面 码农故事 移动应用 移动端 程序员 算法 管理 编程 编程语言 网站 网页设计 职场 自由职业 苹果 设计 设计师 设计模式 趣文 软件开发 重构 面试 项目经理 黑客
密码明文存入 log?Twitter 程序员可能要被祭天了 2018/05/04 · 83 · 3
地址 1.1.1.1,Cloudflare 推新公共 DNS 服务 2018/04/02 · 67 · 6
C++委员会决定在C++20中弃用原始指针 2018/04/02 · 4
安卓用 Java 侵犯甲骨文版权,谷歌或赔 88 亿美元 2018/03/28 · 81 · 3
李文星家属诉 BOSS直聘:哪怕赔一分 能给个交代也值 2018/03/27 · 129 · 4
mlpack: 一个C++机器学习库 C++, 机器学习
Whitewidow:SQL 漏洞自动扫描工具 数据库 · 4
Caffe:一个深度学习框架 机器学习 · 3
静态代码分析工具清单:公司篇 静态代码分析
HotswapAgent:支持无限次重定义运行时类与资源 开发流程增强工具