该文被密码保护。 阅读全文
posted @ 2019-12-12 20:39 树上的疯子 阅读(1) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-12-09 20:46 树上的疯子 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-08-19 23:59 树上的疯子 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 题目一 请对比 Exception 和 Error,另外,运行时异常与一般异常有什么区别? 考点分析: 分析 Exception 和 Error 的区别,是从概念角度考察了 Java 处理机制。总的来说,还处于理解的层面,面试者只要阐述清楚就好了。 我们在日常编程中,如何处理好异常是比较考验功底的, 阅读全文
posted @ 2019-08-19 20:53 树上的疯子 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 旁白:一般的面试都是从最简单基本的问题开始。 面试官:请在黑板上写出一个线程安全的单例模式的例子。 面试者: 其实线程安全的实现有很多种,根据业务场景可以new一个实例作为私有静态成员变量,这样程序一启动,实例就生成,私有化构造函数,利用公用的静态函数getInstance返回实例。这种预加载的是能 阅读全文
posted @ 2019-08-19 20:47 树上的疯子 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 参考:java核心技术 一、Java泛型的实现方法:类型擦除 前面已经说了,Java的泛型是伪泛型。为什么说Java的泛型是伪泛型呢?因为,在编译期间,所有的泛型信息都会被擦除掉。正确理解泛型概念的首要前提是理解类型擦出(type erasure)。 Java中的泛型基本上都是在编译器这个层次来实现 阅读全文
posted @ 2019-08-19 20:41 树上的疯子 阅读(1743) 评论(0) 推荐(0) 编辑
摘要: 1.什么是redis? Redis 是一个基于内存的高性能key-value数据库。 2.Reids的特点 Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作 阅读全文
posted @ 2019-08-11 16:59 树上的疯子 阅读(1539) 评论(0) 推荐(0) 编辑
摘要: 什么是线程池? 很简单,简单看名字就知道是装有线程的池子,我们可以把要执行的多线程交给线程池来处理,和连接池的概念一样,通过维护一定数量的线程池来达到多个线程的复用。 线程池的好处 我们知道不用线程池的话,每个线程都要通过new Thread(xxRunnable).start()的方式来创建并运行 阅读全文
posted @ 2019-08-11 16:56 树上的疯子 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 在Java或者C#中,都会用到 Thread.Sleep()来使线程挂起一段时间。那么你有没有正确的理解这个方法的用法呢?思考下面这两个问题: 1、假设现在是 2014-8-13 17:00:00.000,如果我调用一下 Thread.Sleep(1000) ,在 2014-8-13 17:00:0 阅读全文
posted @ 2019-08-11 16:51 树上的疯子 阅读(1881) 评论(0) 推荐(1) 编辑
摘要: 一、前言 在上一篇文章中,已经介绍了基于Redis实现分布式锁的正确姿势,但是上篇文章存在一定的缺陷——它加锁只作用在一个Redis节点上,如果通过sentinel保证高可用,如果master节点由于某些原因发生了主从切换,那么就会出现锁丢失的情况: 于是,客户端1和客户端2同时持有了同一个资源的锁 阅读全文
posted @ 2019-07-11 20:23 树上的疯子 阅读(14338) 评论(3) 推荐(1) 编辑