Java
摩西_玄晨
专注于Java,现从事移动服务汽车产品互联生活公益旅游等应用开发,喜欢研究大数据集群性能等领域,关注优秀的项目设计与架构体系。
展开
-
最有效的抑制空指针异常
NullPtionException是很多初学者很头疼的一件事! 我也简单的总结了下,和大家分享一下 1.null 与 空对象的区别 这主要是在创建对象的时候,没把握住栈里的引用是否指向堆里的对象,或是指向个null 简单的 Person person = null 就是个空的引用,堆中并没对象; 而Person person =原创 2009-10-04 12:16:00 · 673 阅读 · 0 评论 -
ZXing 目前比较灵活好用的二维码、条形码开源类库
ZXing 目前比较灵活好用的二维码、条形码开源类库 全文目录:基本介绍二维码(比如:QRCode)的编码和解码演示条形码(比如:EAN-13)的编码和解码演示【一】、基本介绍: 1-1. ZXing是一个开源Java类库用于解析多种格式的条形码和二维码.官网:http://code.google.com/p/zxing/截止目前为止最新版本为1.7,提供以下编原创 2013-09-06 16:12:57 · 2845 阅读 · 0 评论 -
固定SessionID漏洞
一个简单的登录控制下面是一个最常用最简单的登录控制流程,通过表单提交用户名密码,servlet判断用户名密码,正确则写一个session,然后跳转到登录后的能够看到的页面登录页面JSP/*省略头部信息*/"SessionTestServlet" method="post"> 用户名:"username" type="text" value=""/> 密码:"pass转载 2013-12-10 09:50:57 · 1184 阅读 · 0 评论 -
修改Tomcat6默認的sesssionid名JSESSIONID
開源就是好,看代碼輕鬆解決問題/tomcat-6.0.x/java/org/apache/catalina/Globals.java1/**2 * The name of the cookie used to pass the session identifier back原创 2013-12-09 14:43:10 · 3053 阅读 · 0 评论 -
同域名下的多项目谨防sessionid互相影响,造成严重后果
同域名下的多项目谨防sessionid互相影响,造成严重后果,保持咱程序猿的优良传统,独立的命名空间,严格的洁癖症,处事不惊的顽强能力。转入正题 已我开发cctv项目为例,当然cctv愿意找我,我是很乐意效劳的,哈哈!!不过我是无证程序猿,很可能去了也是临时工,好吧,我还是拿他做例子吐槽吧:www.cctv.com/zhidaowww.cctv.com/news这里将zhidao、原创 2013-12-12 10:51:32 · 6563 阅读 · 1 评论 -
jCharts 柱状图开发实例
下载jCharts jar包,网络上经常下载需要登录或者无法访问国外网站的情况,这里我给大家把源码包提供技术下。/*********************************************************************************************** * File Info: $Id: BarChartServle原创 2013-11-19 15:33:44 · 2596 阅读 · 3 评论 -
二维码servlet访问使用更方便
二维码通过servlet方式来访问生成,无需保存,即可展现。优点多多。。。。。。今天就来把玩一把,各位观众请坐好观看:package com.cctv.website.control.servlet;import java.io.IOException;import java.util.HashMap;import java.util.Map;import原创 2013-12-12 11:28:45 · 1351 阅读 · 0 评论 -
java中 常用的HTTP head信息(欢迎收藏保留)
JSP中获取相应的服务器变量(包括HTTP头中的变量)的方法:SERVER_NAME request.getServerName();SERVER_SOFTWARE request.getServletContext().getServerInfo();SERVER_PROTOCOL request.getProtocol();SERVER_PORT原创 2013-12-18 13:32:13 · 1285 阅读 · 0 评论 -
[我还不懂] Java值传递的终极解释
对于Java的值传递, 你真的了解么? Java里面只有值传递, 这个值是什么? 如果是基本数据类型。 你也许回答的很干脆。 但如果是Object对象呢? 你确定清楚不? 先看下code。Java代码package com.basic; public class Test { /** * @param ar转载 2014-02-25 10:13:30 · 760 阅读 · 0 评论 -
HTTP文件断点上传
由于业务需要,手机需要采用http方式传输文件到后台WEB服务器,1、2百K的小文件不会有太大问题,几M甚至几百M的文件就很容易传输失败。所以考虑实现HTTP文件断点续传功能,基本流程如下: 1.客户端计算本地要上传的文件的hashcode2.根据指定的块大小和文件大小计算最终的块数3.发送文件信息到服务器包括要上传的文件名、大小、类型、块数、Hashcode转载 2014-04-21 16:00:58 · 816 阅读 · 0 评论 -
线程状态间的关系
下面附上线程相关知识,有的转自网络: 很多核心JAVA面试题来源于多线程(Multi-Threading)和集合框架(Collections Framework),理解核心线程概念时,娴熟的实际经验是必需的。这篇文章收集了 Java 线程方面一些典型的问题,这些问题经常被高级工程师所问到。0.Java 中多线程同步是什么?在多线程程序下,同步能控制对共享资源的访问。如果原创 2012-07-18 14:46:35 · 534 阅读 · 0 评论 -
网络收集的系列学习贴,大家有好的内容也可跟帖回复
《跟我学Shiro》PDF完结版下载原创 2014-04-28 13:57:08 · 1284 阅读 · 0 评论 -
Java 8 简明教程——领略Java 8的全新特性
Java 8已于2014年3月18日正式发布了,新版本带来了诸多改进,包括Lambda表达式、Streams、日期时间API等等。本文就带你领略Java 8的全新特性。 本文由黄小非 翻译自 winterbe。原文作者Benjamin是Pondus软件公司的总工程师,原文内容如下。 引用Java并没有没落,人们很快就会发现这一点转载 2014-04-28 14:49:24 · 787 阅读 · 0 评论 -
Java中的transient关键字,在移动开发中的使用
transient关键词修饰的属性是临时的,不会被序列化。那么开发移动接口的同志们应该特别注意使用,这样可以提高不少效率。当然其他方面也要适当使用,通过这个特性,可以提高序列化的效率!百度解释如下,看似别扭难理解,明天去公司写段代码上海,让大家参考下!原创 2014-04-28 21:50:12 · 810 阅读 · 0 评论 -
Eclipse构建Maven项目
1. 安装m2eclipse插件 要用Eclipse构建Maven项目,我们需要先安装meeclipse插件 点击eclipse菜单栏Help->Eclipse Marketplace搜索到插件Maven Integration for Eclipse 并点击安装即可,如下图: 安装成成之后我们在Eclipse菜单栏中点击File->New->Othe转载 2014-06-16 16:09:54 · 630 阅读 · 0 评论 -
PrintWriter返回乱码的分析及解决
用response得到输出流,即response.getOuptStream(); 返回值为ServletOutputStream 对象,即JSP的out对象,要么用response得到输出对象PrintWriter即response.getWriter()。 Java代码 protected void doGet(HttpServletRequest request转载 2013-08-19 15:42:28 · 1021 阅读 · 0 评论 -
throw new JSONException("JSONObject[" + JSONUtils.quote(key) + "] is not a number.");
JSONObject.get*** null的话回报JSONException,大家注意下,附以下源码,正常try catch处理即可!!package net.sf.json;import java.beans.PropertyDescriptor;import java.io.IOException;import java.io.Writer;import java.l原创 2013-05-29 13:42:51 · 5808 阅读 · 0 评论 -
JAVA异常设计原则
异常是面向对象语言非常重要的一个特性,良好的异常设计对程序的可扩展性、可维护性、健壮性都起到至关重要。 JAVA根据用处的不同,定义两类异常 * Checked Exception: Exception的子类,方法签名上需要显示的声明throws,编译器迫使调用者处理这类异常或者声明throws继续往上抛。 * Unchecked Exception: Runt转载 2012-07-31 09:51:30 · 644 阅读 · 0 评论 -
多线程关于睡眠优先级的例子
package test;import java.io.*;//多线程编程 public class MultiThread { public static void main(String args[]) { System.out.println("我是主线程!"); // 下面创建线程实例thread1 ThreadUseExtends thread1 = new Th转载 2012-08-23 17:10:15 · 768 阅读 · 0 评论 -
java nio介绍
从JDK 1.4开始,Java的标准库中就包含了NIO,即所谓的“New IO”。其中最重要的功能就是提供了“非阻塞”的IO,当然包括了Socket。NonBlocking的IO就是对select(Unix平台下)以及 WaitForMultipleObjects(Windows平台)的封装,提供了高性能、易伸缩的服务架构。说来惭愧,直到JDK1.4才有这种功能,但迟到者不一定没有螃蟹原创 2012-09-05 17:53:35 · 438 阅读 · 0 评论 -
Java注释规范
在软件开发的过程中总是强调注释的规范,但是没有一个具体的标准进行说明,通常都是在代码编写规范中简单的描述几句,不能作为一个代码注释检查的标准和依据,做什么都要有一个依据吗:),现在我特整理了一个《Java的注释规范》,内容来自网络、书籍和自己的实际积累。 JAVA注释规范 版本/状态 作者 版本日期1.0 ghc 2008-07-02一、背景 1、当我们第一次接转载 2012-09-12 11:11:24 · 591 阅读 · 0 评论 -
BigDecimal
声明: BigDecimal a=BigDecimal.valueOf(1.0); BigDecimal b=BigDecimal.valueOf(1.000);BigDecimal比较大小: 用BigDecimal的compareTo()方法结果是 -1 小于 0 等于原创 2012-09-12 15:08:27 · 615 阅读 · 0 评论 -
Java集合HashSet-ArrayList-HashMap的线程同步控制方法和区别
Collections类中提供了多个synchronizedXxx,该方法返回指定集合对象对应的同步对象,从而可以解决多线程并发访问集合时的线程安全问题. 正如Java中常用的集合框架推荐使用的三个实现类:HashSet\ArrayList\HashMap都是线程不安全的.如果有多条线程访问它们,而且有超过一条的线程试图修改它们,则可能出现错务.Collections提供了多个静态方法用于转载 2012-10-09 10:05:50 · 925 阅读 · 0 评论 -
base64编码中的+号处理
base64 编码中使用了加号(+),而 + 在 URL 传递时会被当成空格,因此必须要将 base64 编码后的字符串中的加号替换成 %2B 才能当作 URL 参数进行传递。否则在服务器端解码后就会出错。原创 2012-09-18 11:34:56 · 5394 阅读 · 1 评论 -
HTTP报文实例
在罗列具体的实例之前,先啰嗦几句概念性的东西.GET,POST,SOAP都是基于HTTP协议的,但是,POST 是被设计用来向上放东西的,而GET是被设计用来从服务器取东西的,GET也能够向服务器传送较少的数据,而Get之所以也能传送数据,只是用来设计告诉 服务器,你到底需要什么样的数据.POST的信息作为HTTP 请求的内容,而GET是在HTTP 头部传输的.转载 2012-10-10 17:11:47 · 1641 阅读 · 0 评论 -
HttpClient源代码分析之HttpClient模块
httpcomponents-client本身包含了四个部分,正如它的pom.xml配置文件中所写的,如下:modules> module>httpclientmodule> module>httpmimemodule> module>httpclient-cachemodule> module>httpclient-osgimodule>mod转载 2012-10-10 16:52:03 · 802 阅读 · 0 评论 -
关于BigDecimal的构造函数与大小比较
在模拟hibernate完成sql语句的组装的时候,在java类型与数据库类型之间,规定只允许三种类型,日期型对应java.util.Date,数字型对应java.math.BigDecimal,字符型对应java.lang.String。在处理BigDecimal的时候,发现了一些有趣的现象。大小比较:通常我们比较两个对象是否相等的时候,首先考虑的就是equals方法了。但是,在转载 2012-10-15 10:15:10 · 1395 阅读 · 0 评论 -
java线程安全总结
最近想将java基础的一些东西都整理整理,写下来,这是对知识的总结,也是一种乐趣。已经拟好了提纲,大概分为这几个主题: java线程安全,java垃圾收集,java并发包详细介绍,java profile和jvm性能调优 。慢慢写吧。本人jameswxx原创文章,转载请注明出处,我费了很多心血,多谢了。关于java线 程安全,网上有很多资料,我只想从自己的角度总结对这方面的考虑,有时候写东西是转载 2012-10-19 10:57:24 · 586 阅读 · 0 评论 -
IOS 消息推送原理及实现总结
一、消息推送原理: 在实现消息推送之前先提及几个于推送相关概念,如下图1-1: 1-11、 Provider:就是为指定IOS设备应用程序提供Push的服务器,(如果IOS设备的应用程序是客户端的话,那么Provider可以理解为服务端[消息的发起者]);2、 APNS:A转载 2012-10-29 11:48:44 · 661 阅读 · 0 评论 -
java string replace 的那些事
?的替换String srt="abc?abc";str.replaceAll("?", "#");会提示这样的错误Dangling meta character '?' near index 0?^str.replaceAll("[?]", "#");这样写就可以了原创 2013-05-17 10:31:23 · 619 阅读 · 0 评论 -
FileChannel编码解决办法
原创 2013-05-14 11:44:35 · 2530 阅读 · 0 评论 -
JAVA进程高CPU占用故障排查
问题描述:生产环境下的某台tomcat7服务器,在刚发布时的时候一切都很正常,在运行一段时间后就出现CPU占用很高的问题,基本上是负载一天比一天高。问题分析:1,程序属于CPU密集型,和开发沟通过,排除此类情况。2,程序代码有问题,出现死循环,可能性极大。问题解决:1,开发那边无法排查代码某个模块有问题,从日志上也无法分析得出。2,记得原来通过strace跟踪的原创 2015-01-07 16:45:32 · 1842 阅读 · 0 评论