`
249009188
  • 浏览: 47607 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论
文章列表
异常信息:Non-terminating decimal expansion; no exact representable decimal result 通过BigDecimal的divide方法进行除法时当不整除,出现无限循环小数时,就会抛异常:java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.   解决的办法就是给divide方法设置精确的小数点,如:divide(xxxxx,2)。
假设我们有一个表Student,包括以下字段与数据: [c-sharp] view plaincopy drop table student; create table student ( id int primary key, name nvarchar2(50) not null, score number not null ); insert into student values(1,'Aaron',78); insert into student values(2,'Bill',76); insert in ...
(一)java 静态代码块 静态方法区别 一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需 ...
JNI是Java Native Interface的 缩写。从Java 1.1开始,Java Native Interface (JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计 的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。 使用java与本地已编译的代码交互,通常会丧失平台可移植性。但是,有些情况下这样做是可以接受的,甚至是必须的,比如,使用一些旧的库,与硬件、操作系统进行交互,或者为了提高程序的性能。JNI标准至少保证本地代码能工作在任何Java 虚拟机实现下。 ...
final方法   将方法声明为final那有两个原因: 第一就是说明你已经知道这个方法提供的功能已经满足你要求,不需要进行扩展,并且也不允许任何从此类继承的类来覆写这个方法,但是继承仍然可以继承这个方法,也就是说可以直接使用。 第二就是允许编译器将所有对此方法的调用转化为inline(行内)调用的机制,它会使你在调用final方法时,直接将方法主体插入到调用处,而不是进行例行的方法调用,例如保存断点,压栈等,这样可能会使你的程序效率有所提高,然而当你的方法主体非常庞大时,或你在多处调用此方法,那么你的调用主体代码便会迅速膨胀,可能反而会影响效率,所以你要慎用final进行方法定义。 ...
java关键字Transient     转自http://horst.sun.blog.163.com/blog/static/348849612007614494492/     翻译自http://www.devx.com/tips/Tip/13726。     Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想   用serialization机制来保存它。为了在一个特定对象的一个域上关闭serialization,可以在这个域前加上关键字transient。   transient是Java语言的关 ...
主要总结一下在eclipse中如何使用断言。 (一)首先明确:    java断言Assert是jdk1.4引入的。 jvm 断言默认是关闭的。 断言是可以局部开启的,如:父类禁止断言,而子类开启断言,所以一般说“断言不具有继承性”。    断言只适用于复杂的调试过程。 断言一般用于程序执行结果的判断,千万不要让断言处理业务流程。 (二)判断eclipse是否开启了断言,代码如下: public class AssertTest { public static void main(String[] args) {    boolean isOpen = false;     ...
接口申明必须有interface关键字和接口的名字,public指明任意类均可以使用这个接口,默认情况下,只有与该接口定义在同一个包中的类才可以访问这个接口。extends 与类申明中的extends 基本相同,不同的是一个接口可以有多个父接 ...
堆和栈的区别 栈与堆都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 Java的堆是一个运行时数据区,类的(对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray ...
转发和重定向的区别 不要仅仅为了把变量传到下一个页面而使用session作用域,那会无故增大变量的作用域,转发也许可以帮助你解决这个问题。 重定向:以前的request中存放的变量全部失效,并进入一个新的request作用域。 转发:以前的request中存放的变量不会失效,就像把两个页面拼到了一起。
linux 中,如何判断当前用户是否是root  呢? 判断当前用户是否是root Shell代码  #---------------------------- root user check ---------------------start if [ `id -u` -ne 0 ]; then echo "Please re-run ${this_file} as root." exit 1 fi #---------------------------- root user check ---- ...
做管理系统的,无论是bs结构的还是cs结构的,都不可避免的涉及到数据库表结构的设计,sql语句的编写等。因此在开发系统的时候,表结构设计是否合理,sql语句是否标准,写出的sql性能是否优化往往会成为公司衡量程序员技术水平的标准。 我们程序员不是dba,不需要时刻关注sql运行时间,想方设法优化表结构,存储空间,优化表读取速度等等,但是在开发系统时,时刻保持优良的写sql语句的作风是很有必要的,这关乎到个人在公司的声誉,嘿嘿,你懂的。。。 新来的程序员老鸟,在一个开发团队中,需要表现一下自己的水平,奠定在公司的地位,需要努力表现一把,最简单的从写的sql语句就很容易表现出来,曾经就有一次 ...
HashSet中不允许有重复的元素。例如: Set hashSet = new HashSet(); hashSet.add(new String("aaa")); hashSet.add(new String("bbb")); hashSet.add(new String("ccc")); hashSet.add(new String("aaa")); hashSet.add(new String("aaa")); 通过hashSet.size()获取 ...
//普通函数 function box() { return 'Lee'; } alert(box()); //匿名函数 function () { //单独的匿名函数,是无法运行的 return 'Lee'; //就算能运行,也无法调用,因为没有名称 } //把匿名函数赋值给变量 var box = function () { return 'Lee'; }; alert(box()); //通过自我执行来执行匿名函数 (function () { //(匿名函数)(); 第一圆括号放匿名函数,第二个圆括号执行 al ...

java i++和++i

//i++是在一个先使用后加1,即先使用i的值,后让i+1 int i = 3; int count = (i++)+(i++)+(i++); System.out.println(i);//6 System.out.println(count);//12 //++i则是先加1后使用,即先让i+1后再使用i的新值 int y = 3; int result = (++y)+(++y)+(++y); System.out.println(y);//6 System.out.println(result);//15 //i++和++i在循环的时候基本没什么差别 //对应 ...
Global site tag (gtag.js) - Google Analytics