java
文章平均质量分 87
会飞牛牛
这个作者很懒,什么都没留下…
展开
-
编译工程时报java:[1,0] illegal character: \65279问题排查与解决过程
最近开发人员通过SVN提交了xxx.java文件,因发布时该包有问题需要回退,故SCM将该xxx.java文件用editplus打开删除了新添的一行,删除后重新编译打包,却报了如下异常:[java] view plaincopyprint?java:[1,0] illegal character: \65279 java:[1,0] illegal cha转载 2012-08-06 11:22:51 · 495 阅读 · 0 评论 -
Hibernate缓存机制
缓存是位于应用程序与物理数据源之间,用于临时存放复制数据的内存区域,目的是为了减少应用程序对物理数据源访问的次数,从而提高应用程序的运行性能. Hibernate在查询数据时,首先到缓存中去查找,如果找到就直接使用,找不到的时候就会从物理数据源中检索,所以,把频繁使用的数据加载到缓存区后,就可以大大减少应用程序对物理数据源的访问,使得程序的运行性能明显的提升. Hibern转载 2012-11-20 17:52:32 · 353 阅读 · 0 评论 -
request.getAttribute和getParameter区别
当两个Web组件之间为转发关系时,转发源会将要共享 request范围内的数据先用setAttribute将数据放入到HttpServletRequest对象中,然后转发目标通过 getAttribute方法来取得要共享的数据。而MVC中用的就是Web组件之间的转发啊! 下面整理一下getParameter和getAttribute的区别和各自的使用范围。 (1)H转载 2012-11-20 17:54:55 · 447 阅读 · 0 评论 -
JAVA:注解
本文将向你介绍J2SE5.0中的新特性之一:注解。本文将从什么是注解;J2SE5.0中预定义的注解;如何自定义注解;如何对注解进行注解以及如何在程序中读取注解5个方面进行讨论。 一、什么是注解 说起注解,得先提一提什么是元数据(metadata)。所谓元数据就是数据的数据。也就是说,元数据是描述数据的。就象数据表中的字段一样,每个字段描述了这个字段下的数据的含义。而J2SE转载 2012-11-25 17:00:21 · 445 阅读 · 0 评论 -
Eclipse快捷键指南
Eclipse快捷键,熟悉快捷键可以帮助开发事半功倍,节省更多的时间来用于做有意义的事情。Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行转载 2013-05-04 12:38:28 · 503 阅读 · 0 评论 -
判断用户是否已登录,未登录用户禁止访问任何页面或action,自动跳转到登录页面
实现的功能:判断用户是否已登录,未登录用户禁止访问任何页面或action,自动跳转到登录页面。比较好的做法是不管什么人都不能直接访问jsp页面,要访问就通过action,这样就变成了一个实实在在的权限控制了。 那么就有3种方法可以解决楼主的问题 1,直接使用filter 2,直接使用webwork的interceptor, 3,将action交给spring管理,使用sprin转载 2013-06-25 17:26:43 · 9977 阅读 · 0 评论 -
Java 学习笔记之 ByteBuffer
在NIO中,数据的读写操作始终是与缓冲区相关联的.读取时信道(SocketChannel)将数据读入缓冲区,写入时首先要将发送的数据按顺序填入缓冲区.缓冲区是定长的,基本上它只是一个列表,它的所有元素都是基本数据类型.ByteBuffer是最常用的缓冲区,它提供了读写其他数据类型的方法,且信道的读写方法只接收ByteBuffer.因此ByteBuffer的用法是有必要牢固掌握的.1.创建Byt转载 2014-05-05 16:14:31 · 521 阅读 · 0 评论 -
JAVA启动参数大全
JAVA启动参数大全之三:非Stable参数 前面我们提到用-XX作为前缀的参数列表在jvm中可能是不健壮的,SUN也不推荐使用,后续可能会在没有通知的情况下就直接取消了;但是由于这些参数中的确有很多是对我们很有用的,比如我们经常会见到的-XX:PermSize、-XX:MaxPermSize等等;下面我们将就Java HotSpot VM中-XX:的可配置参数列表进行描述;这些参转载 2014-09-23 16:48:06 · 482 阅读 · 0 评论 -
Java并发编程:volatile关键字解析
volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们转载 2015-10-19 10:52:32 · 307 阅读 · 0 评论 -
ThreadLocal,静态变量,实例变量,局部变量的线程安全,回复:ByteBuffer 到底怎么用?网络编程中一点总结!
之前都是业务层次开发,现在公司进行的网络编程,一下子要了解太多java底层的东西并进行应用,我现在边学习边应用。由于知识能力有限,在上次发博客时出现了一个小小的纰漏,而这个纰漏被细心的博友发现了。首先感谢你的关注,其次非常感谢你的建议和批评。其实上次博客中说道要线程安全的取得缓冲变量确实有安全取得某变量的意思,不过那个例子只是一个讲解Socket应用的小示例。如果真的要保证变量安全,使用静转载 2015-10-19 10:52:58 · 544 阅读 · 0 评论 -
[Java]剑走偏锋的10条编程技巧
“任何可能出错的事情,最后都会出错。” 这就是人们为什么喜欢进行“防错性程序设计”的原因。偏执的习惯有时很有意义,有时则不够清晰也不够聪明,也许当你想到这样写的人的时候还会觉得有点怪异。下面是我列出的的个人感觉最有用而又偏执的 10 项 Java 编程技巧。请看: 1.把字符串常量放在前面 通过把字符串常量放在比较函数equals()比较项的左侧来防转载 2015-10-20 16:09:45 · 354 阅读 · 0 评论 -
Java泛型一
http://www.cnblogs.com/lwbqqyumidi/p/3837629.html一. 泛型概念的提出(为什么需要泛型)?首先,我们看下下面这段简短的代码: 1 public class GenericTest { 2 3 public static void main(String[] args) { 4 List转载 2015-09-09 16:01:26 · 269 阅读 · 0 评论 -
JVM调优总结
一、相关概念基本回收算法引用计数(Reference Counting)比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。标记-清除(Mark-Sweep)此算法执行分两阶段。第一阶段从引用根节点开始标记所有被引用的对象,第二阶段遍历整个堆,把未标记的对象清除。转载 2012-07-17 16:53:04 · 358 阅读 · 0 评论 -
深入浅出RxJava(四:响应式安卓开发)
在前三节我讲解了Rxjava是如何工作的(简单的介绍了下)。但是作为一个Android开发者,怎么能在实际中能够运用呢?这里给Android开发者一些实际运用。RxAndroidRxAndroid是Rxjava对于Android的一个扩展。它包含一些特殊绑定让你的开发更简单。首先,AndroidSchedulers提供了一个现成的Android线程系统。需要在UI线程上跑一些代转载 2015-09-28 14:44:06 · 802 阅读 · 0 评论 -
深入浅出RxJava(一:基础篇)
转载链接原文链接前言RxJava正在Android开发者中变的越来越流行。唯一的问题就是上手不容易,尤其是大部分人之前都是使用命令式编程语言。但是一旦你弄明白了,你就会发现RxJava真是太棒了。这里仅仅是帮助你了解RxJava,整个系列共有四篇文章,希望你看完这四篇文章之后能够了解RxJava背后的思想,并且喜欢上RxJava。基础RxJava最核心的两个转载 2015-09-28 14:42:23 · 353 阅读 · 0 评论 -
Java Calendar 类的时间操作
Calendar的中文翻译是日历,实际上,在历史上有着许多种计时的方法。所以为了计时的统一,必需指定一个日历的选择。那现在最为普及和通用的日历就是"Gregorian Calendar"。也就是我们在讲述年份时常用"公元**年"。Calendar 在 Java 中是一个抽象类(Abstract Class),GregorianCalendar 是它的一个具体实现。Calendar.getInsta转载 2015-09-11 11:54:20 · 4226 阅读 · 0 评论 -
深入浅出RxJava(三:响应式的好处)
原文链接大头鬼Bruce翻译在第一节,学习了Rxjava的基本结构,在第二节,我给你展示了操作符的强大之处。但是也许你还是不买账,这些都不足矣说服你。这里有一些其他Rxjava框架应该搞定的技术。错误处理至今为止,我们一直忽视了onComplete()和onError()。他们标识了Observable将停止发射内容和为啥停止(不是执行成功了,就是发生了一个无法恢复的错转载 2015-09-28 14:43:28 · 664 阅读 · 0 评论 -
RxJava的基础使用(二)
首先需要介绍Observable.from(),它的作用是传入一个数据集合执行多次直到集合全部释放出来,例如:Observable.from(urls).subscribe(url -> System.out.println(url));然后,介绍Observable.flatMap(),// Returns a List of website URLs based on a t转载 2015-09-28 14:42:57 · 321 阅读 · 0 评论 -
Thread类的interrupt,interrupted,isInterrupted方法的理解
用interrupt()中断Java线程 假如我们有一个任务如下,交给一个Java线程来执行,如何才能保证调用interrupt()来中断它呢? class ATask implements Runnable{ private double d = 0.0; public void run() { //转载 2012-11-27 15:50:10 · 1221 阅读 · 0 评论 -
java接口中能申明私有成员么?接口能不能实例化?
java接口和抽象类的区别 收藏 简单来说, 接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的,另外,实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法。一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。还有,接口可以实现多重继承,而一个类只能继承一个超类,但可以通过继承多个接口实转载 2012-11-09 15:15:13 · 9511 阅读 · 0 评论 -
JAVA访问权限控制
Java的访问权限控制修饰符,从最大权限到最小权限依次是:public、protected、包访问权限(默认,没有关键字)和private。对于类的访问权限只能是:public和包访问权限(但内部类可以是private或protected的);对于类中的成员的访问权限可以是上述的四种。下面是各种访问权限的作用。 一、public修饰的类:作用域转载 2012-11-08 15:06:24 · 481 阅读 · 0 评论 -
Spring MVC基于注解的Control
终于来到了基于注解的 Spring MVC 了。之前我们所讲到的 handler,需要根据 url 并通过 HandlerMapping 来映射出相应的 handler 并调用相应的方法以响应请求。实际上,ControllerClassNameHandlerMapping, MultiActionController 和选择恰当的 methodNameResolver(如 InternalPath转载 2012-08-06 17:28:25 · 2122 阅读 · 0 评论 -
eclipse中resin的使用
第一步: 1.将下载好的resin解压到任意目录 2.打开eclipse开发工具,下图是我eclipse的版本 3.在eclipse中新建立web项目,注意这里选择的项目路径为下图红线部分,也就是放在resin的webapps目录下面,这样不需要去配置resin的配置文件 4. 下图是创建好的项目结构: 第二步: 1.右键选择项目,选转载 2012-07-27 13:31:10 · 632 阅读 · 0 评论 -
JSONObject与JSONArray的使用
1.JAR包简介要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包:commons-lang.jar commons-beanutils.jar commons-collections.jar commons-logging.jar ezmorph.jar json-lib-2.2.2-jdk15.jar 2.JSONObject对象使用J转载 2012-07-30 16:04:57 · 669 阅读 · 0 评论 -
Java中的static块
我们都知道,static 块在初始化的时候,首先执行 static 块区域,然后执行相应的构造方法 Java代码 package C01; import java.util.List; import java.util.ArrayList; public class TestStatic { private stat转载 2012-08-29 17:46:26 · 407 阅读 · 0 评论 -
Hashtable和HashMap的区别
Hashtable和HashMap的区别:1.Hashtable是Dictionary的子类,HashMap是Map接口的一个实现类;2.Hashtable中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。即是说,在多线程应用程序中,不用专门的操作就安全地可以使用Hashtable了;而对于HashMap,则需要额外的同步机制。但HashMap的同步问题可通过Collect转载 2012-09-03 13:34:48 · 440 阅读 · 0 评论 -
单例模式
1. 全局变量的缺点: 必须在程序一开始就创建好对象,如果程序在这次的执行过程中又一直没用到它,就非常耗费资源。 2. 经典的单例模式实现: Java代码 public class Singleton { //用一个静态变量来记录Singleton类的唯一实例 private static Singleton转载 2012-09-26 21:39:43 · 532 阅读 · 0 评论 -
java金钱转换问题
public static String NoTranslate(String sNumber){ String[] oneUnit = { "元", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿", "拾", "佰", "仟", "兆", "拾", "佰", "仟" }; Str转载 2012-09-26 21:54:10 · 770 阅读 · 0 评论 -
Java的垃圾回收机制
Java的堆是一个运行时数据区,类的实例(对象)从中分配空间。Java虚拟机(JVM)的堆中储存着正在运行的应用程序所建立的所有对象,这些对象通过new、newarray、anewarray和multianewarray等指令建立,但是它们不需要程序代码来显式地释放。一般来说,堆的是由垃圾回收 来负责的,尽管JVM规范并不要求特殊的垃圾回收技术,甚至根本就不需要垃圾回收,但是由于内存的有限性,JV转载 2012-09-27 10:22:05 · 380 阅读 · 0 评论 -
JNI应用之Windows篇
JNI技术简介JNI:Java Native Interface其基本原理为:JNI允许在Java虚拟机上运行的Java代码操作其他语言编写的应用程序和本地库方法,从而能够直与接特定的操作系统和硬件平台进行交互。JNI提供的编程接口也允许在本地应用程序中嵌入Java虚拟机。交互过程是在相同的Java虚拟机中使得Java类中的本地方法的调用能够被映射到共享二进制库的相对应的函数上,并在相同的转载 2012-09-11 18:35:24 · 762 阅读 · 0 评论 -
Java 面试题
请描述一下JVM加载class文件的原理机制 在Java中,类装载器把一个类装入Java虚拟机中,要经过三个步骤来完成:装载、链接和初始化,其中链接又可以分成校验、准备、解析 装载:查找和导入类或接口的二进制数据; 链接:执行下面的校验、准备和解析步骤,其中解析步骤是可以选择的; 校验:检查导入类或接口的二进制数据的正确性; 准备:给类的原创 2012-09-16 22:40:11 · 372 阅读 · 0 评论 -
Java面试题笔试题大全
Java面试题笔试题大全java面试题集 1.C++或Java中的异常处理机制的简单原理和应用。当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常。违反语义规则包括2种情况。一种是JAVA类库内置的语义检查。例如数组下标越界,会引发IndexOutOfBoundsException;访问null的对象时会引发NullPointerEx转载 2012-09-16 10:35:56 · 954 阅读 · 0 评论 -
线程间的通信
线程间的通信网址:http://soft.yesky.com/lesson/36/2280536.shtml简介 线程之间通信的两个基本问题是互斥和同步。 线程同步是指线程之间所具有的一种制约关系,一个线程的执行依赖另一个线程的消息,当它没有得到另一个线程的消息时应等待,直到消息到达时才被唤醒。 线程互斥是指对于共享的操作系统资源(指的是广义的"资源",而不是转载 2012-09-18 16:10:22 · 855 阅读 · 0 评论 -
java中,如何安全的结束一个正在运行的线程?
Java中提供了很多调度线程的方法,上一节介绍了其中一种控制线程的方法:如何等待一个线程结束。那么如果不希望等待线程结束,而是根据问题的需要随时都要中断线程使其结束,这种对线程的控制方法该如何实现呢? 解决思路 首先必须先明确“中断”这个概念的实际含义,这里的中断是指一个线程在其任务完成之前被强行停止,提前消亡的过程。查阅JDK的帮助文档,可以找到这样一个和中断有关的方法:interr转载 2012-09-20 14:31:50 · 817 阅读 · 0 评论 -
进程和线程的区别
简而言之,一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小于进程,使得多线程程序的并发性高。另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。从逻转载 2012-10-19 10:48:57 · 459 阅读 · 0 评论 -
原码 补码和反码
(1)原码表示法 原码表示法是机器数的一种简单的表示法。其符号位用0表示正号,用:表示负号,数值一般用二进制形式表示。设有一数为x,则原码表示可记作[x]原。 例如,X1=+1010110 X2= 一1001010 其原码记作: [X1]原=[+1010110]原=01010110 [X转载 2012-11-07 15:24:03 · 691 阅读 · 0 评论 -
Java中的类型转换与强制类型转换的实现
本文为你介绍Java中类型转换和强制类型转换的实现过程。 你已经知道把一种类型的值赋给另外类型的一个变量是相当常见的。如果这2种类型是兼容的,那么Java 将自动地进行转换。例如,把int 类型的值赋给long 类型的变量,总是可行的。然而,不是所有的类型都是兼容的,因此,不是所有的类型转换都是可以隐式实现的。例如,没有将double 型转换为byte 型的定义。幸好,获得不兼容的类型之间的转转载 2012-11-07 15:36:49 · 1645 阅读 · 0 评论 -
java的移位操作详解,左移和右移
首先要明白一点,这里面所有的操作都是针对存储在计算机中中二进制的操作,那么就要知道,正数在计算机中是用二进制表示的,负数在计算机中使用补码表示的。左移位:左移操作时将运算数的二进制码整体左移指定位数,左移之后的空位用0补充右移位:>>,有符号的移位操作右移操作是将运算数的二进制码整体右移指定位数,右移之后的空位用符号位补充,如果是正数用0补充,负数用1补充。例子:pub转载 2012-11-07 15:21:58 · 688 阅读 · 0 评论 -
Java泛型详解二
1. 概述在引入范型之前,Java类型分为原始类型、复杂类型,其中复杂类型分为数组和类。引入范型后,一个复杂类型就可以在细分成更多的类型。例如原先的类型List,现在在细分成List, List等更多的类型。注意,现在List, List是两种不同的类型,他们之间没有继承关系,即使String继承了Object。下面的代码是非法的 List ls = new Arra转载 2015-09-09 16:05:45 · 336 阅读 · 0 评论