01 2018 档案
摘要:1.新建maven项目 testHibernate,pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.o
阅读全文
摘要:http://blog.sina.com.cn/s/blog_7b8a637f010142if.html 1)assigned主键由外部程序负责生成,无需Hibernate参与。2)hilo通过hi/lo 算法实现的主键生成机制,需要额外的数据库表保存主键生成历史状态。3)seqhilo与hilo
阅读全文
摘要:using System; using System.Linq; using System.Reflection; using System.Reflection.Emit; namespace EmitCreateDynamicProxy { class Program { static void Main(string[] args) { ...
阅读全文
摘要:using System; using System.Linq; using System.Reflection; using System.Reflection.Emit; namespace TestEmit{ public interface IPerson{ void SayHello(); } class Person2 { ...
阅读全文
摘要:读取 package com.test; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.nio
阅读全文
摘要:我们在写C#代码的时候常常会使用到string.Format("待格式化字符串{0},{1},....",参数1,参数2,...),来格式化字符串,特别是拼接字符的时候,这种方式使得代码更为直观清楚。 最近使用java时候却java的string.Format与c#重点string.Format用法
阅读全文
摘要:在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。 而自从Java 1.5开
阅读全文
摘要:Java并发编程:线程间协作的两种方式:wait、notify、notifyAll和Condition 在前面我们将了很多关于同步的问题,然而在现实中,需要线程之间的协作。比如说最经典的生产者-消费者模型:当队列满时,生产者需要等待队列有空间才能继续往里面放入商品,而在等待的期间内,生产者必须释放对
阅读全文
摘要:Java并发编程:CountDownLatch、CyclicBarrier和Semaphore 在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法。 以下是本
阅读全文
摘要:直接使用thread可以使用thread和wait notify 实现顺序执行 线程池中可以使用CountDownLatch 进行顺序执行 转自 https://www.cnblogs.com/flyme/p/4568063.html
阅读全文
摘要:package com.test; public class OutputThread { public static Object lockObj=new Object(); public static void main(String [] args){ ThreadA t1 = new ThreadA("t1"); synchron...
阅读全文
摘要:package com.test; public class OutputThread implements Runnable { private int num; private Object lock; public OutputThread(int num, Object lock) { super(); this.num = ...
阅读全文
摘要:Java的Executor框架 1,Executor接口 [java] view plain copy public interface Executor { void execute(Runnable command); } [java] view plain copy [java] view p
阅读全文
摘要:源码非常简单,只有一个execute(Runnable command)回调接口 public interface Executor { /** * Executes the given command at some time in the future. The command * may ex
阅读全文
摘要:Java多线程实现方式主要有四种:继承Thread类、实现Runnable接口、实现Callable接口通过FutureTask包装器来创建Thread线程、使用ExecutorService、Callable、Future实现有返回结果的多线程。 其中前两种方式线程执行完后都没有返回值,后两种是带
阅读全文
摘要:所有的Java开发人员可能会遇到这样的困惑?我该为堆内存设置多大空间呢?OutOfMemoryError的异常到底涉及到运行时数据的哪块区域?该怎么解决呢?其实如果你经常解决服务器性能问题,那么这些问题就会变的非常常见,了解JVM内存也是为了服务器出现性能问题的时候可以快速的了解那块的内存区域出现问
阅读全文
摘要:这里主要涉及到类对象(static方法),对象方法(非static方法) 我们知道,当synchronized修饰一个static方法时,多线程下,获取的是类锁(即Class本身,注意:不是实例); 当synchronized修饰一个非static方法时,多线程下,获取的是对象锁(即类的实例对象)
阅读全文
摘要:批处理系统中的调度算法: *需要考虑的因素: 1. 吞吐量 2. cpu利用率 3. 周转时间 4. 公平性* 1.先来先服务: FCFS: 优点:实现简单 缺点:可能造成周转时间长 2.最短作业优先 SJF(非抢占式) 优点:平均周转时间最短 缺点:不公平,短任务多时,长任务一直得不到执行,产生s
阅读全文
摘要:产生死锁的原因主要是:(1) 因为系统资源不足。(2) 进程运行推进的顺序不合适。(3) 资源分配不当等。如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序与速度不同,也可能产生死锁。产生死锁的四个必要条件:(1) 互斥
阅读全文
摘要:最近去面试了几家公司,被问到hashCode的作用,虽然回答出来了,但是自己还是对hashCode和equals的作用一知半解的,所以决定把它们研究一下。 以前写程序一直没有注意hashCode的作用,一般都是覆盖了equals,缺没有覆盖hashCode,现在发现这是埋下了很多潜在的Bug!今天就
阅读全文
摘要:服务端: 1.新建MAVEN HessianServer 项目 2.新建接口 Basic 3.新建 BasicService 类,extends HessianServlet implements Basic import com.caucho.hessian.server.HessianServl
阅读全文
摘要:准备:先安装zookeeper,然后进入一下步骤 服务端 1.新建 maven项目 2.pom.xml 内容如下 3.在resource里新建 applicationContext.xml 4.新建IAnimal接口 5.IAnimal接口的实现 6.启动该应用(会注册到zookeeper) 启动后
阅读全文