`
hy2012_campus
  • 浏览: 30567 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类
最新评论
文章列表

json转换工具

    博客分类:
  • java
在不利用第三方工具情况下,将对象与json之间进行相互转换 import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.math.BigDecimal; import java.math.BigInteger; import java.util.List; import java.util.Map; import java.util.Set; /** * 功能:将数据格式转换成 ...

各种序列话总结

    博客分类:
  • java
  FST实现序列化 /** * 使用 FST 实现序列化 * * @author winterlau */ public class FSTSerializer implements Serializer { @Override public String name() { return "fst"; } @Override public byte[] serialize(Object obj) throws IOException { ByteArrayOutputStream out = null; ...
  /** * <p>绑定当前登录的用户</p> * <p>不同于@ModelAttribute</p> * * @author Zhang Kaitao */ @Target({ElementType.PARAMETER}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface CurrentUser { /** * 当前用户在request中的名字 * * @return * ...
在使用easyUI树型菜单中总是只有点击前面的图标,树型才能展开或者是关闭,通过添加js函数,点击文件夹实现树型菜单的展开和关闭。函数如下: <ul class="easyui-tree" data-options="animate:true,onClick: function(node){$(this).tree('toggle', node.target);}">    
1. 使用HttpSessionListener 编写一个OnlineUserListener。 package test; import java.util.List; import javax.servlet.ServletContext; import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSessionListener; import javax.servlet.http.HttpSessionEvent; public class OnlineUserListener implem ...
来源于:http://thecodesample.com/?p=710 进去看看吧 一定会有收获的,搬砖到此只是为了收集起来,免得主任删除等操作。 public class DeadlockExample { String resource1 = "资源1"; String resource2 = "资源2"; Thread t1 = new Thread("线程1") { public void run() { while (true) { synchronized (resource1) { ...
一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因为该 barrier 在释放等待线程后可以重用,所以称它为循环 的 barrier。 CyclicBarrier 支持一个可选的 Runnable 命令,在一组线程中的最后一个线程到达之后(但在释放所有线程之前),该命令只在每个屏障点运行一次。若在继续所有参与线程之前更新共享状态,此屏障操作 很有用。 public class JavaCyclicBarrierExample ...

ThreadLocal变量

    博客分类:
  • java
/** * ThreadLocal和线程同步机制都是为了解决多线程中相同变量的访问冲突问题。 * ThreadLocal为每一个线程提供一个独立的变量副本,从而隔离了多个线程对访问数据的冲突。 */ public class SequenceNumber { //①通过匿名内部类覆盖ThreadLocal的initialValue()方法,指定初始值 private static ThreadLocal<Integer> seqNum = new ThreadLocal<Integer>(){ public Intege ...

java代码优化

    博客分类:
  • java
来源于:http://thecodesample.com/ 本文给出几个提升Java性能的基本方法: 不要在循环条件中计算 如果在循环 (如for循环、while循环)条件中计算,则循环一遍就要计算一次,这会降低系统的效率,如: //每次循环都要计算 count *2 while(i < count *2) { //Do something ... } 应该替换为: //只计算一遍 int total = count *2 while(i <total) { //Do something ... } 再如: for (int i=0; ...
利用辗转相除法求最大公约数: #include <stdio.h> int hcf(int a,int b) { int r=0; while(b!=0) { r=a%b; a=b; b=r; } return(a); } int lcd(int u,int v,int h) { return(u*v/h); } int main() { int u,v,h,l; scanf("%d%d",&u,&v); ...
#include<iostream> using namespace std; #define OK 1 #define ERROR 0 #define OVERFLOW -2 typedef int Status; //Status 是函数返回值类型,其值是函数结果状态代码。 typedef int ElemType; //ElemType 为可定义的数据类型,此设为int类型 typedef ...
public int power(int x,int n){ int y; if(n == 0){ y = 1; }else{ y = power(x, n/2); y = y*y; if(n%2 == 1){ y = y*x; } } return y; }  思想时利用递归方法,考虑n是奇数还是偶数情况是分别考虑,提高计算效率。
冒泡排序: public static void bubbleSort(int[] array){ int temp = 0; for(int i = 0; i < array.length; i++){ for(int j = 0; j < array.length - i - 1; j++){ if(array[j] > array[j+1]){ temp = array[j]; array[j] = array[j+1]; array[j+1] = temp; } } } }  选择排序: ...
CHAR 和 VARCHAR 类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。 下面的表显示了将各种字符串值保存到 CHAR(4)和 VARCHAR(4)列后的结果,说明了 CHAR 和VARCHAR 之间的差别:   char(4) 存储需求 varchar(4) 存储需求  ‘ ’ ‘ ’ 4个字节 ‘ ’ 1个字节 ‘ab’ 'ab' 4个字节 ‘ab’ 3个字节 'abcd' 'abcd' 4个字节 'abcd' 5个字节 'abcdef' 'a ...
1.  搜索的索引列,不一定是所要选择的列。换句话说,最适合索引的列是出现在 WHERE 子 句中的列,或连接子句中指定的列,而不是出现在 SELECT 关键字后的选择列表中的列。 2.  使用惟一索引。考虑某列中值的分布。对于惟一值的列,索引的效果最好,而具有多个 重复值的列,其索引效果最差。例如,存放年龄的列具有不同值,很容易区分  各 行 。 而用来记录性别的列,只含有“ M”和“F”,则对此列进行索引没有多大用处(不管 搜索哪个值,都会得出大约一半的行) 3.  使用短索引。如果对串列进行索引,应该指定一个前缀长度,只要有可能就应该这样做 。 例如,如果有一个 CHAR ...
Global site tag (gtag.js) - Google Analytics