知识积累
孤独人生
我孤独,故我释然!!!
展开
-
关于hibernate中一对多关系创建的一点 收获
最近在写一个小的系统,由于是跟他人合作,我就自己先把数据库封装好,本来以为这件事是相当的easy的,可是,这个却花了我几天的时间。原来的一切进展都是比较顺利的,因为我没有使用hibernate来控制一对多的表间的关系,因此,我就想要配置hibernate来控制这种关系,因此,就开始了我的工作。我是又看视频,又查资料的,以为一切大功告成的时候,我发现:还是不行的!。。。。好无语啊,删除‘一’而‘...2012-03-19 16:46:00 · 93 阅读 · 0 评论 -
自定义以及使用Annotation
1. 什么是AnnotationAnnotation是元数据(metadata)的一种格式,它提供了关于程序但是却与程序本身无关的数据。并且,注解与被注解的代码并没有直接的关系。(译自于Java Tutorial) 2. Annotation的作用Information for the compiler --注解可以被编译器用来探测错误或者压制警告。Compil...原创 2014-07-24 16:40:14 · 179 阅读 · 0 评论 -
下载文件设置header的filename要用ISO8859-1编码的原因
很多情况下,我们在写程序的时候都会把代码设置为UTF-8的编码,可以在下载文件设置filename的时候却有违常理,竟然设置编码格式为ISO8859-1,代码如下(如是英文的话就不需要这样处理了): response.setHeader("Content-disposition", "attachment; filename=" + new String("中文文件名".getBytes("...2014-08-18 15:52:26 · 895 阅读 · 1 评论 -
java socket 实现获取网页内容
import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.net.Socket;public class WebpageSocket { privat...2014-08-25 13:48:59 · 401 阅读 · 0 评论 -
匿名端口的使用
采用截图的方式如下:2014-08-25 18:50:43 · 324 阅读 · 0 评论 -
线程相关问题
用图片保存原创 2014-08-26 14:30:01 · 80 阅读 · 0 评论 -
使用事件驱动模型实现高效稳定的网络服务器程序
前言事件驱动为广大的程序员所熟悉,其最为人津津乐道的是在图形化界面编程中的应用;事实上,在网络编程中事件驱动也被广泛使用,并大规模部署在高连接数高吞吐量的服务器程序中,如 http服务器程序、ftp 服务器程序等。相比于传统的网络编程方式,事件驱动能够极大的降低资源占用,增大服务接待能力,并提高网络传输效率。关于本文提及的服务器模型,搜索网络可以查阅到很多的实现...原创 2014-08-28 16:12:13 · 92 阅读 · 0 评论 -
JVM内存区域划分Eden Space、Survivor Space、Tenured Gen,Perm Gen解释
jvm区域总体分两类,heap区和非heap区。heap区又分:Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。 非heap区又分:Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(java虚拟机栈)、Local Method Statck(本地方法栈)。HotSpot虚拟机GC算法采用分代...原创 2015-05-27 14:12:09 · 201 阅读 · 0 评论 -
Java Socket学习---单线程阻塞
这里首先介绍几个概念:BIO——同步阻塞IO、NIO——同步非阻塞IO、AIO——异步非阻塞IO今天的例子是最简单的一个例子,没有引入多线程,仅仅是一个单线程阻塞的Socket例子,多线程的下次再继续。 这样子的例子仅仅供学习使用,基本上是没有实用意义的,因为在实际的应用中基本上是不止于一个Client的。 Server端得代码如下:package com.henush...2014-09-10 11:51:05 · 147 阅读 · 0 评论 -
Java Socket学习---多线程阻塞
上篇 Java Socket学习---单线程阻塞 这次文章中,是在上篇的基础上,在服务端使用了多线程的方式来管理连接,主线程负责接收连接,在接到连接后变创建新的线程,每个线程负责与自己的客户端进行通信。与单线程阻塞的例子相比来说,服务端可以与多个客户端进行通信了,不过多线程频繁的创建与销毁便会带来很大的资源开销,而系统的网络资源等都是有限的;因此便可以引入线程池,可以在某种程度上重用线程...2014-09-10 12:44:25 · 300 阅读 · 0 评论 -
Java Socket学习---nio实现阻塞多线程通信
本次使用nio实现socket客户端和服务端的通信,并且在服务端为每一个新建的连接创建一个线程负责维持和客户端的通信。使用nio实现的阻塞的socket与普通方式实现的通信相比较仅仅是实现方式不同,其实质的运行原理是一样的。在此仅仅作为一个nio的入门示例。nio来做socket主要用到两个类ServerSocketChannel(服务器socket)和SocketChannel(客户端...2014-09-12 11:29:08 · 195 阅读 · 0 评论 -
JavaSocket学习---NIO实现非阻塞的通信
示例代码见附件:很遗憾,太懒,代码内容还是我分的包,如果你要运行的话,还需要自己下一点小的功夫,改变一下包路径。 Server端代码:package com.henushang.socket.chapter4nio;import java.io.IOException;import java.net.InetSocketAddress;import java....2014-09-17 11:09:49 · 263 阅读 · 0 评论 -
Java内存泄露监控工具:JVM监控工具介绍【转】
jstack -- 如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题。另外,jstack工具还可以附属到正在运行的java程序中,看到 当时运行的java程序的java stack和native stack的信息, 如果现在运行的java程序呈现hun...2015-07-22 15:26:53 · 483 阅读 · 0 评论 -
【转】JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解
摘要 JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat、hprof等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。 现实企业级Java开发中,有时候我们会碰到下面这些问题:OutOfMemoryError,内存不足...2015-07-23 15:44:09 · 405 阅读 · 0 评论 -
程序设计原则
合理的业务逻辑设计可以避免80%产生的问题,剩下的20%,则需要一些额外的工作和辅助手动进行处理。现总结的程序设计的一些原则如下:程序内部设计原则对于非常严重认为不能容忍的异常,要中断程序;对于可以容忍的异常,要进行异常捕获和 error log 的提示。如对redis进行scan,某个key有问题,不应该影响其他的数据的处理;程序内部的各个模块的调用,要全面判断返回值,并且...2017-01-04 11:40:45 · 119 阅读 · 0 评论 -
获取泛型的实例
Type type = getClass().getGenericSuperclass(); Type[] paramsTypes = ((ParameterizedType)type).getActualTypeArguments(); return (Class<T>)paramsTypes[0]; 参见:http://blog.csdn.net...原创 2015-01-08 13:55:27 · 466 阅读 · 0 评论 -
使用google+登录
详情请参加:https://developers.google.com/+/web/signin/哈哈~很详细了,不过你要跳过墙去才行的啊原创 2014-12-25 12:10:25 · 817 阅读 · 0 评论 -
放假了,上网不方便,今天有机会,个大家一些myeclipse的快捷键大全
-------------------------------------MyEclipse 快捷键1(CTRL)-------------------------------------Ctrl+1 快速修复Ctrl+D: 删除当前行 Ctrl+Q 定位到最后编辑的地方 Ctrl+L 定位在某行 Ctrl+O 快速显示 OutLine Ctrl+T 快速显示当...2012-07-26 14:05:00 · 80 阅读 · 0 评论 -
pinyin4j的使用代码实例
这是自己根据文档加上网上搜的部分资料写出来的一个pinyin4j使用的实例,主要是为了实现根据拼音以及拼音简写检索姓名使用的,拿出来大家看看哪里有bug,希望指正,好改进我写的这个工具类。 package cn.zh.common;import java.util.ArrayList;import java.util.HashSet;import java.uti...2013-04-20 11:16:30 · 199 阅读 · 0 评论 -
public static void main(String[] args){}函数诠释
主函数的一般写法如下: public static void main(String[] args){…} 下面分别解释这些关键字的作用: (1)public关键字,这个好理解,声明主函数为public就是告诉其他的类可以访问这个函数。 (2)static关键字,告知编译器main函数是一个静态函数。也就是说main函数中的代码是存储在静态存储区的,即当定义了类以后这段代...原创 2012-11-19 20:58:51 · 235 阅读 · 0 评论 -
56个民族静态字典代码创建sql语句
创建静态字典代码数据库表DROP TABLE IF EXISTS `zddm_common`;CREATE TABLE `zddm_common` ( `zdlb` varchar(10) NOT NULL, `zddm` varchar(10) NOT NULL, `zdms` varchar(100) NOT NULL, `xxms` v...2013-05-06 16:27:16 · 1182 阅读 · 1 评论 -
html判断IE版本
[html]view plaincopy1.<!--[if!IE]><!-->除IE外都可识别<!--<![endif]-->2.<!--[ifIE]>所有的IE可识别<![endif]-->3.<!--[ifIE5.0]>只有IE5.0可以识别<!2012-08-23 08:49:00 · 67 阅读 · 0 评论 -
计算机各种概念贴
老是在技术群里面聊天,发现有时候会遇到一些概念自己不清楚,顿时感觉自己好无知啊,因此,打算在这篇博客中记录下一些概念,以供以后参考。【将持续更新】如果大家发现哪个概念不正确或者不准确的话,请及时指正,我一定及时改正。如果还有一些概念,也可以支出,下面我就以今天遇到的,做一个开始。 1. 有关排序: 数据库排序:在数据库中取出数据之前,在数据库内对数据做排序; ...2013-05-17 17:58:35 · 89 阅读 · 0 评论 -
关于view、controller、service、dao的理解
最近,越来越对这几层的含义有兴趣,因此,根据在网上搜索到的资料以及自己的理解,特整理了这篇博文。 首先,分层的目的:高内聚,低耦合。虽然有时候一个controller方法里面仅仅调用一个service的方法,一个service方法里面仅仅调用一个dao层里的方法,但是,这几层还是非常有必要存在的。一、这样看起来结构是很清晰的,虽然对很对新人来...2013-05-18 10:53:36 · 481 阅读 · 0 评论 -
生产者--消费者问题
自己在网上搜集了一些资料,然后又根据自己的理解写的,如果有问题,请指出,我将改正 package cn.henu.sjg.producerAndConsumer;import java.util.LinkedList;import java.util.Scanner;/** * 生产者--消费者问题 * @author Shang Jianguo...2012-12-11 14:26:03 · 88 阅读 · 0 评论 -
Windows下删除.svn文件夹的最简易方法
建立一个文本文件,取名为kill-svn-folders.reg(扩展名由txt改为reg),内容如下:Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]@="Delete SVN Folders"[HKEY_LOCAL_...2012-09-04 15:38:00 · 75 阅读 · 0 评论 -
spring mvc 转化Date数据类型
从前台传递一个date到controller,前后台的date类型转换不过来,解决办法:在controller中加上@InitBinderpublic void initBinder(WebDataBinder binder) {DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");dateForm...原创 2012-09-23 21:36:02 · 83 阅读 · 0 评论 -
jsp自定义标签库
今天中午晚上,弄了7个小时左右的自定义标签库,本来就是为实现一个转换,想用原来马工定义的那个,可是,后来出现问题后,就在网上艘资料,慢慢得真的成了那种标准的标签库了,下面我将记录定义标签库的方法,以及自己遇到的一个问题。 自定义标签库:第一篇博文:用自定义标签库,我们可以提高WEB应用的模块性、复用性、科维护性等等。相信对于标准标签库和Struts提供的标签库,我们是...2012-09-24 20:13:39 · 158 阅读 · 0 评论 -
Servlet与JSP核心编程记录(一)
一:SingleThreadModel 不要让高流量的Servlet实现SingleThreadModel。在其他情况下使用也要极为小心。对于产品级的代码,明确的代码同步要好些。servlet 2.4版本不赞成使用SingleThreadModel。因此要明确的使用synchronized块要好的多。 二:Servlet常用的调试方式 使用打印语句...2012-09-24 21:54:28 · 65 阅读 · 0 评论 -
Gzip压缩代码
在看Servlet和Jsp高级编程的时候的摘录,第一次接触代码的压缩。使用Gzip压缩以后浏览器会自己的解压缩然后进行显示,可是我不知道为什么我的写个这个代码到浏览器显示的时候竟然不能够正常的显示,而且令我更加郁闷的是里面更笨就没有汉字,全是因为,不过记下来吧,毕竟这个东西以后有可能要用的到的 LongServlet.javaimport java.io.IOException;...2012-09-29 20:45:44 · 201 阅读 · 0 评论 -
在word中,怎么插入一条水平线、粗线、波浪线、双直线、虚线
也许你选择留下一行的空格,然后选中这些空格,点击格式-文字-来设定这些空格的下划线。但是这样的设置第一麻烦,第二容易造成版式混乱。正确的做法应该是如果你需要绘制双直线,只要连续输入三个或者三个以上的“=” ,然后回车,双直线就自动生成了;如果你需要绘制波浪线,只要连续输入三个或者三个以上的“~” ,然后回车,波浪线就自动生成了;如果你需要绘制虚线,只要连续输入三个或者三个以上的“*” ,然后回车...原创 2014-07-04 17:56:41 · 3443 阅读 · 0 评论 -
面试,究竟面什么?
在互联网这个行业里面,跳槽是一件极为常见的事情,所以,与之同步到来的一件事情就是面试。 做为面试官,你会用一些面试题来考察候选人;做为应聘者,你要准备面试以拿到offer。那么:面试,究竟面什么? 下面,通过我个人进行求职和参与面试的经历,做一些初步的总结。 1、专业能力 首先,作为企业来说,招人是为了能够让其创造价值,所以候选人必须具...原创 2018-09-10 11:41:52 · 677 阅读 · 0 评论