[泛微OA]顶部菜单,菜单排序

—— 顶部菜单,菜单排序 SELECT c.labelname,a.* FROM HrmUserMenuStatictics a,LeftMenuInfo b,HtmlLabelInfo c WHERE a.menuid=b.id and b.labelid=c.indexid and c.languageid=7 and a.userid=123 order by clickCnt desc, menuid update HrmUserMenuStatictics set clickcnt =600 where id = 22 –1 update HrmUserMenuStatictics set clickcnt =500 where id = 81 –2 update HrmUserMenuStatictics set clickcnt =400 where id = 176 –4 update HrmUserMenuStatictics set … Read more

Java加载dll或so库文件的路径 java.library.path

1. Java的 System.load 和 System.loadLibrary都可以用来加载库文件 2. 例如你可以这样载入一个windows平台下JNI库文件: System.load( “C://Documents and Settings//TestJNI.dll” ); 绝对路径 3. System.loadLibrary参数为库文件名 例如你可以这样载入一个windows平台下JNI库文件 System.loadLibrary ( “TestJNI” ); 这里TestJNI必须在 java.library.path这一jvm变量所指向的路径中,可以通过如下方法获得该变量的值:   System.getProperty(“java.library.path”); 默认情况下,Windows平台下包含下面的路径:   1)和jre相关的目录   2)程序当前目录   3)Windows目录   4)系统目录(system32)   5)系统环境变量path指定的目录 4.在linux下添加一个java.library.path的方法如下:   在/etc/profile 后面加上一行 export LB_LIBRARY_PATH=路径 5.在执行程序的时候可以显示指定, -Djava.library.path=路径,这种会清除掉预设置的 java.library.path的值 。 实例如下: java -jar -Djava.library.path=/home/fly/Desktop/sound_dream  sound.war

java-StringUtils commons-lang

工作容易遇到的: 必须要8位,不够的就拿0去补 System.out.println(StringUtils.leftPad(“34”, 8, “0”)); // 00000034 又或者你需要在一个数组中加入一个元素,你可以这么做: 把数组里的字符串用:连接 System.out.println(StringUtils.join(new String[]{“cat”,”dog”,”carrot”,”leaf”,”door”}, “:”) // cat:dog:carrot:leaf:door 如果你需要一个大写字母或者是需要一个字符串中的每个单词第一个字母大写,你可以这么做: System.out.println(StringUtils.capitaliseAllWords(“a sentenced to be capitalised”)); // A Sentenced To Be Capitalised 如果你需要计算一个字母在字符串中出现的个数,你可以使用countMatches方法: System.out.println(StringUtils.countMatches(“Bethany plays with army men”, “e”)); // 2 甚至还有计算两字符串之间的Levenshtein-Distance System.out.println(StringUtils.getLevenshteinDistance(“David”, “Jakob”)); // 4 少于5位的就用99去补 直到补足5为 System.out.println(StringUtils.leftPad(“123”, 5, “99”)); //99123 ———————————–日期的使用: Name                                 Format ISO_DATE_FORMAT                      yyyy-MM-dd”2004-01-02″ ISO_DATE_TIME_ZONE_FORMAT            yyyy-MM-ddZZ”2004-01-02-07:00″ ISO_DATETIME_FORMAT                  yyyy-MM-dd’T’HH:mm:ss”2004-01-02T23:22:12″ … Read more

java中的动态加载和热替换

1.C++编写的程序需要经过编译称为目标文件,然后在程序执行之前进行链接后才可以称为可以运行的可执行程序,这个链接可以发生在程序运行之前,也可以发生在程序运行后(在内核中完成链接过程)再被执行。(运行可以理解为双击打开)。而Java则只需要编译成字节码,然后交给JVM解析器去链接执行就可以了。(C++系列也拥有动态加载和动态链接等概念) 2.Java的动态加载实际上就是程序在执行过程中可以根据程序设定去加载需要被执行的字节码文件。 3.热替换属于动态加载的一种,但是热替换是特殊的动态加载机制。 4.动态加载在Java中有2种实现,第一种通过ClassLoader.loadClass()去加载,ClassLoader最高级别的类加载器,所有的类都归他管理,用loadClass加载的类,是未经过初始化的,所以很多静态变量和方法无法被使用,第二种方法则是,Class.forName().用这个方法加载的类已经经过初始化。 5.而如何实现热替换呢?首先我们要知道ClassLoader中的loadClass在加载类的时候会检测该类是否已经存在,如果存在则不会去加载,如果不存在则加载该类并缓存。所以默认的ClassLoader是无法实现热替换的。换句话说,要实现热替换就必须实现一个自己的MyClassLoader,实现一个自己的用于加载类的方法findClass(),在方法里面要做的事情就是读取本地字节码文件,只用父类的defineClass()方法去解析它。这样就可以获取新的类了,而旧的类由于ClassLoader不可达,所以会被GC回收。 下面是MyClassLoader的代码: import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.channels.FileChannel; public class MyClassLoader extends ClassLoader { public MyClassLoader() { } public Class<?> findClass(String name) throws ClassNotFoundException { String classPath = MyClassLoader.class.getResource(“/”).getPath(); String fileName = name.replace(“.”, “/”) + “.class”; File classFile = new File(classPath, fileName); if(!classFile.exists()) … Read more

Java中Json转换Bean对象并忽略大小写!

import com.sdzn.vo.ICPostJsonBeanVO; public class test { public static void main(String[] args) { String tString = “{\”FuncName\”:\”UploadGroupInfo\”,\”ParamNum\”:\”1\”,\”ParamValue\”:\”444\”}”; JSONObject jsonObj1 = JSONObject.fromObject(tString); JsonConfig config = new JsonConfig(); config.setJavaIdentifierTransformer(new JavaIdentifierTransformer() { @Override public String transformToJavaIdentifier(String str) { char[] chars = str.toCharArray(); chars[0] = Character.toLowerCase(chars[0]); return new String(chars); } }); config.setRootClass(ICPostJsonBeanVO.class); ICPostJsonBeanVO p2 = (ICPostJsonBeanVO) JSONObject.toBean(jsonObj1, config); System.out.println(“json转化为对象:方法名:” + … Read more