摘要:packageservice;publicclassMyService{publicStringgetGreeting(Stringname){return"您好"+name;}publicvoidupdate(Stringdata){System.out.println("<"+data+">已经更新");}}packageservice;publicclassMyServiceOther{publicStringgetName(){return"shihuan";}}在services.xml文件中
阅读全文
摘要:Java中的写法:public static void main(String[] args){ System.out,println("长度: " + "ab你好32hg".getBytes().length);}JavaScript中的写法:(1)Js要写函数调用: (c >= 0x0001 && c <= 0x007e) || (0xff60<=c && c<=0xff9f)范围的为单字节函数如下/////////////////////////////////////////////////
阅读全文
摘要:java保留两位小数问题:方式一:四舍五入double f = 111231.5585;BigDecimal b = new BigDecimal(f);double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();保留两位小数---------------------------------------------------------------方式二:java.text.DecimalFormat df =new java.text.DecimalFormat("#.00");df.format(
阅读全文
摘要:最近的机器内存又爆满了,除了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了。下面是参考网络资源总结的一些在Java编程中尽可能要做到的一些地方。1. 尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面:第一,控制资源的使用,通过线程同步来控制资源的并发访问;第二,控制实例的产生,以达到节约资源的目的;第三,控制数据共享,在不建立直接关联的条件下,让多个不相关的进程或线程之间实现通信。2. 尽量避免随意使用静
阅读全文
摘要:图形界面应用程序java中各种图形组件如按钮对话框都是Component类的子类,放在容器(Container)中。java中的容器有两类:窗口Window和面板Panel。窗口是可以独立存在的容器,Panel必须放在其他容器中,如窗口或浏览器窗口中。窗口有两类,一类是具有标题栏、最大化、最小化、按钮的Frame,另一类是对话框Dialog。使用Frame的主要步骤是:import java.awt.*;Frame fr=new Frame(“MyTest”);fr.setSize(500,500);fr.pack(); //自动调整窗口大小fr.setVisible(true);其他,fr.
阅读全文
摘要:还是上次的oracle迁移到mysql的遗留问题,当我在查看数据的时候,发现两个库数据量不一致。最后证实了我的看法,我修改代码时将10个进程简成1个单线程来完成了。所以数据量会少那么多呢。原因很简单当时就是这个函数CyclicBarrier,当时不理解具体的意思:if (sessionParameter.getSourceThreadNum() > 1) { System.out.println("多线程运行"); CyclicBarrier barrier = new CyclicBarrier(sessionParameter .getSourceThreadN.
阅读全文
摘要:这两天再看hibernate,就自己总结了hibernate对jdbc的封装过程。1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件2.由hibernate.cfg.xml中的<mapping resource="com/xx/User.hbm.xml"/>读取并解析映射信息3.通过config.buildSessionFactory();//创建SessionFactory4.sessionFactory.openSession();//打开Sesssion5.session.beginTran
阅读全文
摘要:今儿加入了一个新的项目组,用到了好久没有用的IntelliJ IDEA工具,让我纠结了一小下:我的C盘本来就小可是打开项目了以后,我的C盘资源疯狂的下降。之前遇到过,可是为了写项目就没有注意,只是一味的删文件。今儿下定决心找到它的缓存路径,终于通过上网找资料。查到了http://loading51.blog.51cto.com/2615065/663443 这是作者的博客。大家可以参考下……当我在D:\ 安装完IDEA9.0之后,建立了一个工程,发现C:\Users\Administrator\.IntelliJIdea90 竟然增大到了500+M,并且随着使用在逐渐增大,这样占用系统盘资源是
阅读全文
摘要:数据的溢出:当整数的数据大小超出了可以表示的范围,而程序中又没有做数值范围的检查时,这个整型变量所输出的值将发生紊乱,且不是预期的运行结果。01 // 整数值如果超出了自己所可以表示范围的最大值,会出现溢出 02 public class TestJava3_4 03 { 04 public static void main(String args[]) 05 { 06 int x = java.lang.Integer.MAX_VALUE ; // 得到整型的最大值 07 08 System.out.println("x = "+x); 09 System.out.pri
阅读全文
摘要:JAVA数组的复制是引用传递,而并不是其他语言的值传递。这里介绍java数组复制的4种方式极其问题:第一种方式利用for循环:int[]a={1,2,4,6};intlength=a.length;int[]b=newint[length];for(inti=0;i<length;i++){b[i]=a[i];}第二种方式直接赋值:int[]array1={1,2,4,6};int[]array2=a;这里把array1数组的值复制给array2,如果你这样去运行,就会发现此时两个数组的值是一样的。这是传递的是引用(也就是地址),之后改变其中一个数组另一个也会跟着变化。第三种方式:利用A
阅读全文
摘要:Eclipse调试时出现Exception Processing async thread queue异常。Problem Reports Fixed88752: Exception processing async thread queue: NullPointerException in ASTInstructionCompiler官方的描述是 https://bugs.eclipse.org/bugs/show_bug.cgi?id=88752在debug视图经常得到'Exception processing async thread queue' 这个消息。当'
阅读全文
摘要:本人用的是win7的系统,所以在这里我就专对win7做解释;首先说下Java的环境配置:[计算机]右键的[属性]----->[高级系统设置]----->[高级]中的[环境变量(N)]----->在用户变量中点击[新建]按键,建立一个[变量名]为[classpath],[变量值]为[,;C:\jdk\lib;]设定好后点击确定(在变量值中所要填写的为你的JDK所安装的文件夹目录中,而且最终要对应的文件夹为jdk中的lib)----->再次点击[新建]按键,建立一个[变量名]为[path],[变量值]为[C:\jdk\bin;],设定好后点击确定----->之后再点击
阅读全文
摘要:1、在java中定义一个String str;在这里实际上只是定义了一个引用,并不是对象,如果此时在某处调用了str将会产生错误;安全的做法是在创建一个引用的时候同时进行初始化:String str="Hello World!";2、java中数据存储的地方 (1)寄存器:由于寄存器数量有限,所以系统会根据需要进行分配,而不能由程序员直接控制; (2)堆栈:它位于通用的RAM(随机访问存储器)中,他可以以仅次于寄存器的速度快速分配内存,对象的引用一般存于堆栈中;java系统必须知道存储在堆栈中所有数据的确切生命周期 (3)堆:编译器不需要知道存储在这里的数据的生命周期,ne
阅读全文
摘要:在平时的编程中,经常遇到一个线程要产生数据,而另一个线程要处理产生出来的数据,这其实就是生产者和消费者的关系。生产者在产生数据后可以直接调用消费者处理数据;也可以把数据放在一个缓冲区中,让消费者从缓冲区中取出数据处理,两种方式从调用方式上来说,第一种可是说是同步的,即生产者在生产出数据后要等待消费者消耗掉后才能生产下一个数据,等待时间的长短取决于消费者处理数据的能力;第二种方式是异步的,生产者只管生产数据,然后扔到一个缓冲区内,不管数据是否被立即处理了,消费者则从缓冲区中依次取出数据进行自己节奏的处理。从线程模型角度来说,第一种是单线程的,而第二种则是多线程的。 多线程必须要考虑的一个问题是.
阅读全文
摘要:一.final总结 1.final修饰类:表示该类不可继承 final不能修饰interface接口 2.final修饰方法:表示该方法不能被子类覆盖(即子类不能重写父类的final方法,可以继承) final不能修饰构造函数 3.final修饰字段属性:表示属性值第一次初始化后不能被修改 final属性可以直接初始化或在构造函数中初始化 如果属性是直接初始化,则其值不能被其它函数(包括构造函数)修改 4.final修饰函数参数 参数值不能被函数修改 5.final修饰函数中的局部变量 局部变量被第一次初始化后不能被修改 public void hello() { f...
阅读全文
摘要:值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中。==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。==比较的是2个对象的地址,而equals比较的是2个对象的内容。显然,当equals为true时,==不一定为true;一、String中的equals和==1、public class TestString { public static void main(String[] args
阅读全文
摘要:在Java中,byte类型数据在运算之前要转换成int类型数据。比如:byte a=1;byte b=2;byte c;c=a+b; //这样是计算不出c,是错误的c=a+1; //这样也是不能计算c的c=64+1; //为什么这样就能计算c,在Java中这是什么原理啊?运算符对基本类型的影响 当使用+、-、*、/、%运算符对基本类型进行运算时,遵循如下规则: 只要两个操作数中有一个是double类型的,另一个将会被转换成double类型,并且结果也是double类型; 否则,只要两个操作数中有一个是float类型的,另一个将会被转换成float类型,并且结果也是float类型; 否则,只要两
阅读全文
摘要:研究源代码的步骤 Spring确实使你能通过最简单可行的解决办法来解决你的问题。而这是有有很大价值的。同时他的源代码的设计理念也受到很多程序员的追捧,简洁,易用.可是从哪着手研究Spring却是很多新手头疼的地方,下面的参考资料将带领大家慢慢的深入解析Spring spring1 Spring中的事务处理[1] 2 ioc容器在Web容器中的启动[2] 3 Spring JDBC[3] 4 Spring MVC[4] 5 Spring AOP获取Proxy[5] 6 Spring声明式事务处理[6] 7 Spring AOP中对拦截器调用的实现[7] 8 Spring驱动H...
阅读全文