随笔分类 -  13.面试题

摘要:1、什么是Hibernate的并发机制?怎么去处理并发问题? Hibernate并发机制: a、Hibernate的Session对象是非线程安全的,对于单个请求,单个会话,单个的工作单元(即单个事务,单个线程),它通常只使用一次, 然后就丢弃。 如果一个Session 实例允许共享的话,那些支持并 阅读全文
posted @ 2016-06-06 23:12 moonandstar08 阅读(10668) 评论(0) 推荐(0) 编辑
摘要:两个线程可以交换对象的同步点。每个线程都在进入exChange方法时给出某个对象,并接受其他线程返回时给出的对象。用于实现两个人之间的数据交换,每个人在完成一定的事务后想与对方交换数据,第一个先拿出数据的人将一直等待第二个人拿着数据到来时,才能彼此交换数据。 方法摘要 V exchange(V x) 阅读全文
posted @ 2016-05-27 22:25 moonandstar08 阅读(291) 评论(0) 推荐(0) 编辑
摘要:方案一: 方案二: 阅读全文
posted @ 2016-05-17 23:10 moonandstar08 阅读(340) 评论(0) 推荐(0) 编辑
摘要:一、CyclicBarrier使用 new Thread().start(); new Thread(new Runnable() {},"XXX").start(); 输出结果如下: 二、CountDownLatch使用 输出结果如下: 阅读全文
posted @ 2016-04-17 09:37 moonandstar08 阅读(244) 评论(0) 推荐(0) 编辑
摘要:public class PrintMain { public static String obj1="obj1"; public static String obj2="obj2"; public static void main(String[] args) { new Thread(new Runnable() { public void run... 阅读全文
posted @ 2016-04-12 23:26 moonandstar08 阅读(425) 评论(0) 推荐(0) 编辑
摘要:在介绍之前,先抛几个问题。 如果你都都能很明确的答上来了,说明你已经完全懂Thread.interrupt,可以不用往下看那了。 那如果不清楚的,带着这几个问题,一起来梳理下。 Thread的interrupt处理的几个方法: public void interrupt() : 执行线程interr 阅读全文
posted @ 2016-04-12 22:43 moonandstar08 阅读(872) 评论(0) 推荐(0) 编辑
摘要:生产者、消费者模型 方式一:以LinkedBlockingQueue阻塞队列的方式来进行存储 方式二:以ArrayBlockingQueue有界阻塞队列的方式来存储 方式三:以wait/notify方式进行处理 关于生产者、消费者模型可以参考:http://blog.csdn.net/monkey_ 阅读全文
posted @ 2016-04-06 21:27 moonandstar08 阅读(416) 评论(0) 推荐(0) 编辑
摘要:关于ThreadLocal的使用请参见:http://ifeve.com/java-theadlocal/ 阅读全文
posted @ 2016-04-06 21:22 moonandstar08 阅读(274) 评论(0) 推荐(0) 编辑
摘要:在jvm规范中,每个类型都有自己的常量池。常量池是某类型所用常量的一个有序集合,包括直接常量(基本类型,String)和对其他类型、字段、方法的符号引用。之所以是符号引用而不是像c语言那样,编译时直接指定其他类型,是因为java是动态绑定的,只有在运行时根据某些规则才能确定具体依赖的类型实例,这正是 阅读全文
posted @ 2016-03-16 21:52 moonandstar08 阅读(364) 评论(0) 推荐(0) 编辑
摘要:下面将侧重介绍java乱码是如何产生的、存在哪些乱码的情况、该如何从根本上解决乱码问题。各位随博主一起征服令人厌烦的java乱码问题吧!!! 一、Java编码转换过程 我们总是用一个java类文件和用户进行最直接的交互(输入、输出),这些交互内容包含的文字可能会包含中文。无论这些java类是与数据库 阅读全文
posted @ 2016-03-16 21:06 moonandstar08 阅读(236) 评论(0) 推荐(0) 编辑
摘要:一、多线程共享变量 方式一:变量共享 XXX tt = new XXX; new Thread(tt).start(); new Thread(tt).start(); 另一种变量共享方式 方式二:以参数传递的方式共享变量 方式三:以Executors.newFixedThreadPool(N)方式 阅读全文
posted @ 2016-03-11 23:20 moonandstar08 阅读(281) 评论(0) 推荐(0) 编辑
摘要:一、多线程共享变量 方法一:以变量共享的方式进行操作 public class AddMinusOperate { private int j=5; public synchronized void add() { j++; } public synchronized minus() { j--; 阅读全文
posted @ 2016-03-11 21:47 moonandstar08 阅读(269) 评论(0) 推荐(0) 编辑
摘要:TCP连接三次握手 首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。 阅读全文
posted @ 2016-02-25 22:18 moonandstar08 阅读(311) 评论(0) 推荐(0) 编辑
摘要:在学习红黑树之前,先看一下二叉排序树及平衡二叉树的特性:一、二叉排序树1. 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;2. 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;3. 它的左、右子树也分别为二叉排序树。二、平衡二叉树 它是一 棵空树或它的左右两个子树的高度... 阅读全文
posted @ 2015-11-29 23:04 moonandstar08 阅读(294) 评论(0) 推荐(0) 编辑
摘要:1、Thread 类中的start() 和 run() 方法有什么区别?Thread.start()方法(native)启动线程,使之进入就绪状态,当cpu分配时间该线程时,由JVM调度执行run()方法。当你调用start()方法时你将创建新的线程,并且执行在run()方法里的代码。但是如果你直接... 阅读全文
posted @ 2015-10-25 20:37 moonandstar08 阅读(1458) 评论(0) 推荐(0) 编辑
摘要:1.Java的HashMap是如何工作的?HashMap是一个针对数据结构的键值,每个键都会有相应的值,关键是识别这样的值。HashMap 基于 hashing 原理,我们通过 put ()和 get ()方法储存和获取对象。当我们将键值对传递给 put ()方法时,它调用键对象的 hashCode... 阅读全文
posted @ 2015-10-25 20:11 moonandstar08 阅读(383) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示