
java
文章平均质量分 80
bxyz1203
这个作者很懒,什么都没留下…
展开
-
第一次作为面试官,我很紧张
我作为应聘者,从来不紧张,哪怕是第一次应聘的时候,但在前几天作为面试官的时候,我很紧张。为什么紧张呢。因为作为应聘者我只要为我自己负责。但是作为一个面试官,我不是在为自己负责,而是在为应聘者与公司负责。当肩负这样的使命后,就感觉有一定的担子。可以说面试是一个人的基本技能,以后面试的机会肯定有太多。目前作为一个新手的面试官,我该怎么办呢?可能我会这样,到网上找很多的面试题目,再列出一个清原创 2011-11-18 13:05:38 · 5487 阅读 · 6 评论 -
HUDSON邮件模板问题 <众里寻他千百度,蓦然回首,那‘人’却在灯火阑珊处>
【众里寻他千百度,蓦然回首,那‘人’却在灯火阑珊处】【问题描述】hudson邮件功能太弱了,项目经理说,能不能换成好看的。我就在hudson仓库中找了Email-ext+plugin(http://wiki.hudson-ci.org/display/HUDSON/Email-ext+plugin)一段简单配置后,配置如下$PROJECT_NAME - Bu原创 2012-03-26 23:01:06 · 4555 阅读 · 2 评论 -
JVM内存回收机制及回收器-一目了然
一、概述内存回收,分析出所以然,为什么如此设计,内存回收,如整理屋子。用户就是系统,其实和普通的系统没有大区别。需求:正确高效(不能对用户线程有较大的影响)二、设计我来设计的话,一些基本的问题。哪些对象需要被回收?谁来回收? JVM在哪里回收? 一般堆上,栈上回收比较困难在什么时候回收? 怎么回收?第一个问题:原创 2012-03-11 00:24:30 · 8670 阅读 · 3 评论 -
java jvm defaultCharset问题
一、问题描述在写代码的时候,读取字节流的时候,一般需要转化成 字符串,此时就涉及到编码问题。一般文件是用啥 编码 存的,取的时候就用 此编码读取。 在写读的时候,一般建议指定编码。BufferedReader br = new BufferedReader(new InputStreamReader(is));最好写成BufferedReader br = new Buffer原创 2012-03-14 15:12:20 · 6035 阅读 · 0 评论 -
测试框架迁移 <测试之体系,人人皆有一砖一瓦>
【测试之体系,人人皆有一砖一瓦】【概述】测试是非常重要的,构建一个好的测试对于系统的质量、重构非常重要。下面简单介绍下测试的一些框架,有的是带过,此篇主要是我这次迁移测试框架的一些总结。如果大家对其中的一些框架比较感兴趣,可以去研究下。 推荐:junit\testng\jmockit 。对于每个开发工程师肯定会大有益处的。其中会涉及到很到的java技术点。【选型】原创 2012-03-23 15:19:08 · 2171 阅读 · 5 评论 -
资源定位的问题-URLClassLoader、ServletContext、jetty资源加载
一、问题描述发现代码:在antx.properties中数值为:finance.abc.ict.port = 1599 猜测应该是 SysConfig读取配置文件失败。基本定位是资源加载的问题。二、问题定位启动容器调试:发现类加载器是:org.eclipse.jetty.webapp.WebAppClassLoa原创 2012-03-16 11:50:22 · 1945 阅读 · 0 评论 -
字符编码的问题
今天又出现一个字符编码的问题,jvm默认的是用的与本地操作系统有关系,一般是iso-8859-1编码,此对中文是丢失的。那下面我简单讲下,对于编码的理解。【导言】计算机是处理数字与字母的。在创造Unicode之前,有数百种指定这些数位的编码系统,没有一个编码可以包含足够的字元。有如此所的编码,每个之间还存在冲突,所以就必要要有一个强大的编码系统,能处理所有的字符,一统江原创 2012-03-22 19:46:40 · 972 阅读 · 0 评论 -
数据库大数据量导出多线程版本源码部分
package com.alibaba.crm.finance.bo.export;import java.io.File;import java.io.IOException;import java.math.BigDecimal;import java.sql.SQLException;import java.util.Date;import java.util.LinkedLi原创 2012-04-20 21:39:03 · 4947 阅读 · 4 评论 -
数据库大数据量导出多线程版本
【不积跬步,无以至千里;不积小流,无以成江海。】一、概述一年多前,我做了一个小需求,导出80w的数据。当时写了一篇博客《在集群上支持数据库大数据量导出》,简单地讲了一些原理,并贴出了部分的源码。原理用了一张图来表述:基本就是客户在页面申请导出请求,把请求存在数据库中,再由定时任务取出来运行:由于当时是把所有的请求都转给第一台机器运行,并且是单线程运行原创 2012-04-20 21:28:00 · 8620 阅读 · 5 评论 -
log4j源码解析及一个log4j:ERROR Attempted to append to closed appender named 的问题
一、log4j源码解析最近出现一个问题,弄得我不得不把log4j的源代码读了一篇。如果自己不想写代码,可以下载此代码:https://github.com/lwwcl1314/atlantis/tree/master/common/src/main/java/com/atlantis/study/log先讲下log4j的设计.log4j主要有元素:logger leve原创 2012-06-08 14:07:44 · 21380 阅读 · 2 评论 -
java jvm内存结构(回顾)
回顾下JVM内存的结构,下次能快速回想起来。为什么JVM内存会如此设计呢:目前大致的分为:堆、栈、方法区、程序计数器、直接内存为什么会分这么多呢?要想程序运行起来,需要不同的数据,不同的模型。如:线程运行时有线程的一些专有属性。第二就是 为了 内存的回收,可以分别调优。给用户更大选择。除了 程序计算器没有内存溢出外,每个区都会有内存溢出。(程序计算器所使用的内存太少了)原创 2012-03-08 23:54:47 · 3047 阅读 · 1 评论 -
线上一个类加载的问题(java.lang.NoClassDefFoundError)
一、背景 2012年02月下旬,把应用的容器从jboss换成了jetty.二、故障 前几天上午 同学叫我看一个问题,截图如下:大致描述为,线上有3台服务器,第二台服务器一直在报警,而且报警条数一直在增加。情况十分紧急,得马上、立刻解决。三、处理过程第一反应就是 看下此情况影响的业务,发现业务十分偏,是一原创 2012-03-04 11:22:59 · 8825 阅读 · 2 评论 -
sonar源码解析-找到入口
一、环境源码准备我们需要从网上去下载最新的代码。参考官方文档( http://docs.codehaus.org/display/SONAR/Build+Sonar+from+sources )git clone git://github.com/SonarSource/sonar.gitgit fetch release-2.11quick-build.batmvn eclipse:原创 2011-11-19 17:03:32 · 2811 阅读 · 0 评论 -
怎么解决开源软件中的黑洞问题-技术问题解决的最佳实践
一、概述笔者将介绍怎么解决遇到的一些开源软件的问题。这些问题一般是开发人员在用开源软件遇到的,是开发人员所不熟悉的,不像是开发人员自己写的代码,有全盘的掌握。开发人员遇到的开源软件的问题,姑且叫做黑洞问题(开发人员对内部逻辑不清楚,只知道大致情况或者怎么使用此软件,黑洞问题不就是指开源问题,这里只是为描述)。黑洞问题,是非常黑的,对于里面的情况是我们所不清楚的,是测试人员、开发人员经常遇到的。原创 2011-11-19 08:18:24 · 2059 阅读 · 5 评论 -
集成环境搭建及遇到的问题 jetty8+hudson2.2.0+sonar2.11+mysql5.5.1
一、概述笔者将详细介绍集成环境搭建及需要注意的事项。此些点都摸索了许多天完成的。一些问题是在搭建过程中实际遇到过的。当然大多数都是环境配置的问题。如果遇到集成环境的一些问题,欢迎和笔者联系。笔者很愿意与大家交流。二、背景知识为什么要集成环境。当然是为了代码质量。通过不断地集成来提高代码的质量。检查代码质量有两种方式。第一种是,静态测试:包括:codereview、静原创 2011-11-17 11:01:04 · 4658 阅读 · 3 评论 -
升级那点事情-升级接口包所引起的一些问题
一、概述笔者本文会讲述升级接口包所引起的一些问题。这些问题都在真实的项目遇到到。有的在线上已经出现重大的故障。这些问题被大部分同学在开发的时候忽视了。掌握这些要点,将使你在以后的开发中避免类似的问题。 二、背景知识(MOM\RPC)我们知道,在互联网中,可靠情况下,进程(线程)需要通信基本基于TCP/IP连接。连接连上需要三次握手,断开需要四次握手。应用层通信基本就有了RPC连接与MO原创 2011-11-13 09:59:14 · 3864 阅读 · 8 评论 -
java代理及动态代理
代理在java技术中起着很重要的作用,Spring的aop及各种开源框架都使用了代理的技术。代理一般分为:静态代理与动态代理。一、 静态代理,一般分为 类继承代理与对象组合代理。 类继承就是继承超类获得超类的功能。在应用中,一般用组合代理。如下图: 二、在java应用中,动态代理应用更广泛,可以说这是java语言的特性。public class SetPr原创 2011-11-14 12:08:14 · 3922 阅读 · 7 评论 -
异步同步与阻塞非阻塞 及java IO、java newIO、java AIO之间的关系
异步同步在不同的场合有不同的含义,我们经常被这些感念弄混淆。同步异步一定有双方以上,阻塞非阻塞肯定是线程进程自己的行为。一、在操作系统中阻塞状态是指正在执行的进程由于发生某事情而暂时无法继续执行时,便放弃处理机而处于暂停状态。进程具有异步性,指:进程各自独立,不可预知的速度向前推进,或者说进程实体按异步的方式运行。正式由于有异步性,可以要同步。进程同步:对多个相关进程在执行次序上进原创 2011-12-10 16:56:36 · 3048 阅读 · 0 评论 -
简单描述类加载机制(回顾)
一、概述 一个类是如何到在jvm里面,到到底干了哪些事情。二、类的生命周期首先简要讲下类的生命周期:类加载包括:初始化之前的所有步骤。加载:通过一个类的全限定名来获取定义此类的二进制字节流。将这个字节流所代表的静态存储结构转化为方法区运行的数据结构。在java堆中生成一个代表这个类的java.lang.Class对象,作为方法区这些数据访问的原创 2012-03-04 11:46:09 · 1514 阅读 · 0 评论 -
异常日志没有堆栈信息
昨天财务出现一个问题,线上一直在报错:日志截屏如下:有异常,但是就只有一个java.lang.NullPointerException异常,这个没有堆栈信息,我怎么查问题呢?后来经过查询,这个问题其实是跟JDK5引入的一个新特性有关,对于一些频繁抛出的异常,JDK为了性能会做一个优化,在JIT重新编译后会抛出没有堆栈的异常。在使用server模式的时候,这个优化是开启的,我们的服务器跑在ser原创 2012-07-03 20:35:39 · 12177 阅读 · 2 评论