`
lighter
  • 浏览: 495518 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论
文章列表
10月29日的时候和同事一起去香山赏红叶,放松一下,呼吸一下市郊清新的空气.从湾子搭车到六里桥南,本来想再搭公车过去香山的,没有想到一大堆在等去香山的车,所以几个人打的去香山,反正摊分也不贵嘛. 下面就是秀一下拍的照片,拍照的技术比较烂,看看即可啦,在google的照片空间地址如下: http://picasaweb.google.com/wuguangcheng 在香炉峰上拍的: 红叶: 香山全景: 如此蓝色的天: 深秋的那一片红叶: 黄红叶:
类装载器就是寻找类或接口字节文件进行解析并构造JVM内部对象表示的组件. 在java中,类装载器把一个类装入JVM中,要经过如下的步骤: 引用1、装载:查找和导入CLass文件 2、链接:执行校验(检查载入Class文件数据的正确性),准备(给类的静态变量分配存储空间)和解析(将符号引用转成直接引用)步骤,   其中解析步骤是可以选择的。 3、初始化:对类的静态变量,静态代码块执行初始化工作。    类装载工作是由classloader及其子类负责,classLoader是一个重要的java运行时系统组件,它负责在运行时查找和装入Class字节文件。     JVM在运行的时候会产生三个cl ...
1、利用spring的jdbcTemplate调用存储过程 假如我们有P_GET_TOPIC_NUM这一个存储过程,有两个参数,第一个参数userId是传进去的,第二个参数是传出来的,举例如下: public int getUserTopicNum(final int userId) { String sql = "{call P_GET_TOPIC_NUM(?,?)}"; //使用 Object execute(String callString, CallableStatementCallback action)接口 Object obj = ge ...
web应用程序开发注意私自启动线程的问题 我们知道静态变量是ClassLoader级别的,如果Web应用程序停止掉,这些静态变量也会从JVM中清除.但是线程则是JVM级别的,如果用户在Web应用中启动一个线程,这个线程的生命周期并不会和Web应用程序操持同步.也就是,即使停止了Web应用,这个线程还是活跃的.正是因为这个很隐晦的问题,所以很多有经验的开发不太赞成在Web程序中私自启动线程.举例: public class Test implements ServletContextListener { private Timer timer; public void contextD ...
SMTP:简单邮件传输协议,用于发送电子邮件的传输协议. POP3:用于接收电子邮件的标准协议. IMAP:互联网消息访问协议,是POP3的替代协议. 这三种协议都有对应的SSL加密传输协议,分别是SMTPS,POP3S,IMAPS javaMail的基础就不说了,来看看spring简化的发邮件的办法 1、发送简单的文本的邮件 private JavaMailSender sender; public void setSender(JavaMailSender sender) { this.sender = sender; } public void sendSimpl ...
现在从事银行软件开发,整天与Oracle数据库接触多一些,慢慢地对这两个方面的内容都一些更深一点点点点的了解,但还是属于菜鸟级别的.不过记录一下自己读过的,看过的,把心得或学习笔记记录下来也是不错的. 1、Oracle数据库   我们一般说的Oracle数据库,可分为两个部分: (1)、实例Instance 实例是一个非固定的,基于内存的基本进程与内存结构,当服务器关闭后,实例也就不存在了。 (2)数据库Database 数据库是指固定的,基于磁盘的数据文件和控制文件及日志文件,参数文件,归档日志文件等。一般情况下,安装的Oracle数据库都一个数据库包含一个实例。 2、数据库服务器 一般 ...
1、sleep方法与interrupt方法 假如线程A像下面这样,使用线程的sleep()方法暂停着. Thread.sleep(10000);这时候线程B,会执行下面的语句,要求B放弃等待操作. a.interrupt(); //a是线程A的实例 在这里使用的interrupt方法,是Thread类的实例方法.执行interrupt方法时,并不需要获取Thread实例的锁定.任何线程在任何时刻,都可以调用其他线程interrupt方法. 当sleep中的线程被调用interrupt方法时,就会放弃暂停的状态.并抛出InterruptedException.丢出异常的,是A线程. 2、wa ...
  近来几天白天有时候比较有空,所以就复习看看资料,这两天,有了重新温习一下C语言的干劲,于是就记录下来一些点滴。   在计算机中,所有的数据都是存放在存储器中的.一般把存储器中的一个字节称为一个内存单元,不同的数据类型所占用的内存单元数是不等的,如整型量占2个单元,字符量占1个单元.为了正确地访问这些内存单元,必须为每个内存单元编上号即可准确地找到该内存单元,内存单元的编号也叫做地址。根据内存单元的编号中地址就可以找到所需的内存单元,所以也把这一个地址称为指针。   严格地说,一个指针是一个地址,是一个常量。而一个指针变量却可以被赋予不同的指针的值,是变量。   变量的指针就是变量的地址。存放 ...
wait方法是在什么时候结束 1、当notify方法执行时    对obj调用notify方法,线程被唤醒时. 2、当notifyAll方法执行时    notifyAll 会把实例的等待区里所有的线程全部唤醒。无论是notify还是notifyALl,线程被唤醒后,还是要重新获取obj的锁定。 3、当interrupt方法执行时    被interrupt时,等待区里的线程会重新获取obj的锁定,并抛出InterruptedException异常。    notify、notifyAll两个方法是对实例调用的,而interrupt则是对线程调用的。 4、发生timeout的时候    ...
synchronized 笔记 1、synchronized实例方法 synchronized void method(){ ... } 在功能上,它相当于 void method() { synchronized (this) { ... } } 2、synchronized类方法 class Something { static synchronized void method(){ ... } } 在功能上,它相当于 class Something { static void method() { ...
选择notify的话,因为要唤醒的线程比较少,程序处理速度当然比notifyAll高出一些. 但选择notify的时候,若这部分处理得不好,可能会有程序挂掉的危险性。一般来说,选择notifyAll所写出来的程序代码会比选择notify可靠。 除非你能确定程序员对程序代码的意义和能力限度一清二楚,否则选择notifyAll应该更稳妥一些。 参考:Java多线程设计模式 P34
其实这一篇文章最核心的东西都是项目组的忠哥写的,他已经飞往新疆项目组了。我当一次"小偷",把他写的一篇分析文章记录下来,以被自己忘记了 sqlloader 不装数情况说明: 1)现象:CCB_COGNOS_COMP_DV表的数据不能装载,在任务管理器里面看到sqlloader进程,但是CPU运行时间一直为0! 2)原因分析:按照现象估计sqlloader 是在等待什么资源,而资源一直未得到,因此sqlloader一直不装数! 3)解决思路: a) 首先查看锁的情况,看是不是表被锁起,不能装数 查询:SELECT A.OWNER,     ...
在北京项目这边,项目进度都比较紧,比较忙碌,但大家都很好相处的,整天有说有笑的,没有其他的一些办公室那一种相对比较凝重的气氛. 其中ULAP项目已经顺利上线了,全国各分行都已部署啦,庆祝一下,至于BI那一块现在任务还是比较重的,不过大家都会努力的. 上次中秋节那一晚上,月圆风清,夜幕来临的时候给人一种心旷神怡的感觉,感觉那一个晚上的月亮特别地圆,项目组总体人员,在苏哥和老大的带领下浩浩荡荡地杀向菜市口那边的戈拿旺巴西烤肉店,去吃大块大块的薰烤肉. 其实这是第二次去吃巴西烤肉,两次都是项目组的经费出的,自助餐来的,感觉还可以,一位58元.大家都吃得比较尽兴后,就去外面的活动厅去看戈拿旺巴西 ...
对于表被锁起的操作: 查询: SELECT A.OWNER, A.OBJECT_NAME, B.XIDUSN, B.XIDSLOT, B.XIDSQN, B.SESSION_ID, B.ORACLE_USERNAME, B.OS_USER_NAME, B.PROCESS, B.LOCKED_MODE, C.MACHINE, C.STATUS, ...
今天在做刚上线的项目技术支持的时候,忠哥告诉我的如下的做法: 索引失效问题解决方法: 1)导致的原因:      在SQL*LOADER 加载过程中会维护索引,由于数据量比较大,在SQL*LOADER 加载过程中出现异常情况,导致ORACLE 来不及维护索引,导致索引处于失效状态,影响查询和加载。      异常情况主要有:在加载过程中杀掉SQL*LOADER 进程,重启,表空间不够等。 2)解决方法:       重建索引 3)如何重建索引       a) 查看索引类型      select t1.index_name,t1.partitioned from Dba_Index ...
Global site tag (gtag.js) - Google Analytics