« | September 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | | | | |
| 公告 |
暂无公告... |
Blog信息 |
blog名称:天地无用 日志总数:55 评论数量:43 留言数量:1 访问次数:194184 建立时间:2008年4月17日 |

| |
[java基础]反射与访问控制(转) 软件技术
kkk888929 发表于 2008/7/31 18:30:29 |
久闻反射可以破坏私有属性、私有方法的访问控制,一直也没有找到方法 突然看到原来有一个class AccessibleObject 中 的setAccessible 可以设置访问权限 Field、Method 两个类均继承这个类,因此Field 、Method 都可以设置访问权限 下面是个小例子:
public class FieldValueGet { /** * @param args * @throws IllegalAccessException * @throws IllegalArgumentException * @throws NoSuchMethodException * @throws SecurityException * @throws InvocationTargetException |
|
[java基础]Eclipse快捷键(转) 软件技术
kkk888929 发表于 2008/7/26 21:48:37 |
Eclipse提供了丰富的快捷键,使用这些快捷键可以极大地提高操作效率。掌握部分常用的快捷键,是掌握Eclipse的一个必然要求。本文并不是Eclipe全部快捷键的列表,而只列举一些本人用过且认为需要使用的Eclipse快捷键。(2006.10.24最后更新)
在主菜单Window-->Preferences-->General-->Keys中,可以看到Eclipse的所有快捷键。 Alt+/ -- Content Assist -- 内容提示(即所谓的智能感知) Alt+Down(Up) -- Move Lines Down(Up) -- 向下(上)移动选定的行(可为多行) Alt+Shift+N -- New Menu -- 显示“主菜单File-->New”菜单,即显示常用的新建项。 < |
|
[java基础]about java.lang.OutOfMemoryError (转) 软件技术
kkk888929 发表于 2008/7/25 9:54:05 |
今天同学在使用java时遇到这样的问题:
byte[] array = new byte[8000*8000] 将导致 Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at ...
这是因为JVM的内存有限制,可以通过java -Xms64m -Xmx256m 【你的程序类名】的方法扩大JVM的内存容量,就不易出现这种错误了。
byte[][] array = new byte[8000][8000]; 不会报错我猜是因为二维数组只是分配了指针,还没有分配内存,若分配了内存也将会报错。
尽管可以手动分配内存,JVM还是有内存上限的 见 http://www.javaeye.com/topic/80257
通过这个错误的解决,我了解了JVM的一些设置方法,有用的链接如下:
|
|
[java基础]Java技术:生成可执行jar文件的教程(转) 软件技术
kkk888929 发表于 2008/7/24 16:45:35 |
若要生成一个名为 cal.jar 的可执行jar文件:(文件名可以是任意合法名字) (这是我认为简单实用的一种方法,还有很多别的方法在此就不介绍了) 第一 把程序生成的所有字节码文件(即.class文件)放在同一个目录下(如:D:/chat/). 第二 在该目录下新建一个manifest.mf文件,文件内容格式如下(划线中内容): manifest.mf文件中的格式: -------------------------------- Main-Class: calDemo -------------------------------- 注意: calDemo代表主类名(即要运行的类名,只能有一个,不要文件扩展名) |
|
[java基础]Java中堆和栈的区别(转) 软件技术
kkk888929 发表于 2008/7/22 16:19:54 |
堆: 是大家共有的空间,分全局堆和局部堆。全局堆就是所有没有分配的空间,局部堆就是用户分配的空间。堆在操作系统对进程初始化的时候分配,运行过程中也可以向系统要额外的堆,但是记得用完了要还给操作系统,要不然就是内存泄漏。
栈:是个线程独有的,保存其运行状态和局部自动变量的。栈在线程开始的时候初始化,每个线程的栈互相独立,因此,栈是 thread safe的。每个C ++对象的数据成员也存在在栈中,每个函数都有自己的栈,栈被用来在函数之间传递参数。操作系统在切换线程的时候会自动的切换栈,就是切换 SS/ESP寄存器。栈空间不需要在高级语言里面显式的分配和释放。
堆和栈的区别
一、预备知识—程序的内存分配
一个由c/C++编译的程序占用的内存分为以下几个部分: |
|
[java基础]tomcat的OutOfMemoryError解决方法(转) 软件技术
kkk888929 发表于 2008/7/15 10:43:07 |
关键字: tomcat outofmemoryerror permgen space java heap space
最近在熟悉一个开发了有几年的项目,需要把数据库从mysql移植到oracle,首先把jdbc的连接指向mysql,打包放到tomcat里面,可以跑起来,没有问题,可是当把jdbc连接指向oracle的时候,tomcat就连续抛java.lang.OutOfMemoryError的错误,上网google了一下,了解了一下tomcat的运行机制,也解决了问题,share出来,以备查。
1、首先是:java.lang.OutOfMemoryError: Java heap space
解释:
Heap size 设置
JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heap size的值,其初始空间(即-Xms)是物理内存的1/64 |
|
[java基础]JAVA中的指针,引用及对象的clone(转) 软件技术
kkk888929 发表于 2008/7/7 13:26:36 |
Java 语言的一个优点就是取消了指针的概念,但也导致了许多程序员在编程中常常忽略了对象与引用的区别,本文会试图澄清这一概念。并且由于Java不能通过简单 的赋值来解决对象复制的问题,在开发过程中,也常常要要应用clone()方法来复制对象。本文会让你了解什么是影子clone与深度clone,认识它 们的区别、优点及缺点。
看到这个标题,是不是有点困惑:Java语言明确说明取消了指针,因为指针往往是在带来方便的同时也是导致代码不安全的根源,同时也会使程序的变得非常复 杂难以理解,滥用指针写成的代码不亚于使用早 |
|
« 1 ›
|