生成UUID从Data Ghost的blog得知,原来可以用Oracle来生成UUID,做法很简单,如下:select sys_guid() from dual; 数据类型是 raw(16) 有32个字符。a.生成 UUID需要用到java 自带 JDk;UUID;public static void main(String[] args) {for(int i=0;i++){String uuid = UUID.randomUUID().toString().replaceAll("-", "");System.out.println(uuid);
我的shiro之旅: 六 自定义shiro的sessionId.通常,我们看到shiro的sessionId格式类似c6395bbc-425d-43b3-a444-04fee5a92e95,是因为shiro产生sesisonId是通过UUID生成的。我们可以看到shiro-core-xx.jar的org.apache.shiro.session.mgt.eis包下有个JavaUuidSessionIdGenerator,shiro的sessionId默认是通过该类生成的。我们可以拿java ee的sessionId作为shiro的sessionId返回。
@GeneratedValue(generator = "paymentableGenerator")@GenericGenerator(name = "paymentableGenerator", strategy = "uuid.hex")13、sequence-identity Java代码 @GeneratedValue(generator = "paymentableGenerator") @GenericGenerator(name = "paymentableGenerator", strategy = "sequence-identity", parameters = { @Parameter(name = "sequence", value = "seq_payablemoney") })
UUID;public class UTest { public static void main(String[] args) { UUID uuid = UUID.randomUUID();JDK1.5 如果使用的JDK1.5的话,那么生成UUID变成了一件简单的事,以为JDK实现了UUID: java.util.UUID,直接调用即可. UUID uuid = UUID.randomUUID(); String s = UUID.randomUUID().toString();//用来生成数据库的主键id非常不错。。public static String getUUID() { UUID uuid = UUID.randomUUID();
再探Java 7:最新特性更新、代码示例及性能测试。进入2010年,Java 7有哪些新的进展?这些新的特性更新对我们有哪些好处?该如何使用?Java 7的性能如何?本文将给你答案。这里的内容主要包括其最新更新、一些代码实例、跟以前版本的Java进行性能比较需要参考的一些基准、以及什么时候它才会发布等信息。Java 7新特性的代码实例。以上这些就是Java1.7的代码实例。Java 7的性能有多大的提升?这里我们来针对Java 7做一个测试,内容如下。
Redis入门到精通1 Jedis的使用。Jedis就是redis支持java的第三方类库,我们可以使用Jedis类库操作redis数据库。//存储数据到列表中jedis.lpush("list1", "Java");jedis.lpush("list1", "Html5");jedis.lpush("list1", "Python");// 获取存储的数据并输出List<String> list = jedis.lrange("list1", 0 ,-1);for(int i=0; i<list.size(); i++) { System.out.println("列表项为: "+list.get(i));}1.5Redis Java Keys.
若没有,则创建一个新的返回 */ public synchronized Connection getConnection() { Connection conn = null; if (pools == null) { pools = new Vector(); }导出表与表之间的关系:a. 从java对象到hbm文件:xdoclet b. 从hbm文件到java对象:hibernate extension c. 从数据库到hbm文件:middlegen d. 从hbm文件到数据库:SchemaExport.
Memcached 高性能的分布式内存对象缓存系统 Memcached的安装、使用实例。在上图中点击“memcached-1.2.6-win32-bin.zip”进入下载页面,下载后,将其解压到D盘下,解压后的D:"memcached-1.2.6-win32-bin目录下有一个memcached.exe。接着运行如下这样来启动Memcached,还可指定-l参数,表示启动的IP,-m表示缓存大小:memcached.exe -d start.
ExecutorService executorService = Executors.newCachedThreadPool();pool-1-thread-2 pool-1-thread-1 pool-1-thread-3 pool-1-thread-5 pool-1-thread-4 pool-1-thread-2 pool-1-thread-1 pool-1-thread-3 pool-1-thread-5 pool-1-thread-4pool-1-thread-5 call()方法被自动调用,任务的结果是:0 pool-1-thread-1 call()方法被自动调用,任务的结果是:1 pool-1-thread-2 call()方法被自动调用,干活!!!
在讲到String的一些特殊情况时,总会提到String Pool或者Constant Pool,但是我想很多人都不太明白Constant Pool到底是个怎么样的东西,运行的时候存储在哪里,所以在这里先说一下Constant Pool的内容.String Pool是对应于在Constant Pool中存储String常量的区域.习惯称为String Pool,也有人称为String Constant Pool.好像没有正式的命名??例4 String s1 = new String("111"); String s2 = "sss111";
//创建二个对象(常量池和栈中),一个引用   String s2 = new String("xyz"); //创建一个对象(栈中),并且以后每执行一次创建一个对象,一个引用   String s3 = "xyz"; //创建一个对象(常量池中),一个引用   String s4 = "xyz"; //不创建对象(共享上次常量池中的数据),只是创建一个新的引用4)"凤山"存储在字符串常量池中 String str1 = "凤山"; String str2 = "凤山"; System.out.println(str1==str2);//true.
The default ClassPool returned by a static method ClassPool.getDefault() searches the same path that the underlying JVM (Java virtual machine) has. If a program is running on a web application server such as JBoss and Tomcat, the ClassPool object may not be able to find user classes since such a web application server uses multiple class loaders as well as the system class loader.
//现在还不大明白他是干嘛的!! u2 catch_type; //指向constant_pool的索引,对应CONSTANT_Class_info }exception_table[exception_table_length]; u2 attributes_count; attribute_info attributes[attributes_count]; }00 1d constant_pool元素个数加一 : 29 那么constant_pool就是[1-28]constant_pool: 1-28
jdk7中string.intern()方法改变。class Test{ public static void main(String...The result of explicitly interning a computed string is the same string as any pre-existing literal string with the same contents.Java 6:if the pool contains object equals to this, then return reference to that object,else create new string (equal to this), put to the pool, and return reference to that created instance.
java为啥使用 preparestatementJAVA 程序中使用ORACLE 绑定变量( bind variable )(1)SQL语句硬分析(Hard Parse)太多,严重消耗CPU资源,延长了SQL语句总的执行时间。一条SQL语句通过语法检查后,Oracle 会先去shared pool 中找是否有相同的sql,如果找着了,就叫软分析,然后执行SQL语句。以上代码,看起来是使用了变量v_id ,但这却是java 的程序变量,而不是oracle 的绑定变量,语句传递到数据库后,此java 的程序变量。
现在看String s = new String("abc");语句,这里"abc"本身就是pool中的一个对象,而在运行时执行new String()时,将pool中的对象复制一份放到heap中,并且把heap中的这个对象的引用交给s持有。1+2 =3,then 3→Integer(3)→"3" in pool? [假设如此] "3"+str(in heap) = "3jf" (in heap) "3jf" +3 ,first 3→Integer(3)→"3" in pool? [则不创建] then "3jf3" "3jf3"+4 create "4" in pool then "3jf34"String str1 ="3jf34";
java字符串池(string pool)和字符串堆(heap)内存分配。有人说,"使用String.intern()方法可以将一个String类保存到一个全局的String表中,如果具有相同值的unicode字符串已经在这个表中,那么该方法返回表中已有字符串的地址,如果在表中没有相同unicode的字符串,则将自己的地址注册到表中",如果我们把这个全局的String表理解成常量池的话,最后一句话"如果在表中没有相同值的字符串,则将自己的地址注册到表中"是错的。
String的创建方法一般有如下几种 1.直接使用""引号创建; 2.使用new String()创建; 3.使用new String("someString")创建以及其他的一些重载构造函数创建; 4.使用重载的字符串连接操作符+创建。
/** * 存款线程类 */ class SaveThread extends Thread { private String name; //操作人 private MyCount myCount; //账户 private int x; //存款金额。SaveThread(String name, MyCount myCount, int x) { this.name = name;this.myCount = myCount;DrawThread(String name, MyCount myCount, int x) { this.name = name;
李四执行了3600,当前余额:13600王五执行了2700,当前余额:16300老张执行了600,当前余额:16900老牛执行了1300,当前余额:18200胖子执行了800,当前余额:19000张三执行了2000,当前余额:21000.张三执行了2000,当前余额:12000王五执行了2700,当前余额:18300老张执行了600,当前余额:18900老牛执行了1300,当前余额:20200胖子执行了800,当前余额:21000李四执行了3600,当前余额:15600.
/** * 信用卡的用户 */ class User implements Runnable { private String name; //用户名 private MyCount myCount; //所要操作的账户 private int iocash; //操作的金额,当然有正负之分了 private Lock myLock; //执行操作所需的锁对象。MyCount(String oid, int cash) { this.oid = oid;
/** * 信用卡的用户 */ class User implements Runnable { private String name; //用户名 private MyCount myCount; //所要操作的账户 private int iocash; //操作的金额,当然有正负之分了 private ReadWriteLock myLock; //执行操作所需的锁对象 private boolean ischeck; //是否查询。
memcached搭建缓存系统。Memcached可以缓存String,也可以缓存自定义java bean。Java代码 package com.hl.memcached.cache.client; import java.io.Serializable; public class TestBean implements Serializable{ private static final long serialVersionUID = 5344571864700659321L; private String name; private Integer age; //get、set方法略 }