JAVA
文章平均质量分 91
panpan_chen
穷则独善其身,达则兼济天下
展开
-
定制Notepad++插件实现Fastinfoset显示
设计流程具体流程利用开源jar包,jRE自带的sax解析器实现把Fastinfoset文档转换成XML文档。生成JAR包。下载现有的Notepad++开发模板,修改模板,调用JAR包实现FIS转换参考网址利用 Notepad++ 插件技术开发直接打开 FastInfoset 格式 XML 文件java实现FIS到XML部分代码InputStream bis = new BufferedInp原创 2015-08-17 23:28:20 · 1488 阅读 · 1 评论 -
创建类模式总结
创建类模式主要关注对象的创建过程,将对象的创建过程进行封装,使客户端可以直接得到对象,而不用去关心如何创建对象。创建类模式有5种,分别是:单例模式:用于得到内存中的唯一对象。(详情)工厂方法模式:用于创建复杂对象。抽象工厂模式:用于创建一组相关或相互依赖的复杂对象。(详情)建造者模式:用于创建模块化的更加复杂的对象。(详情)原型模式:用于得到一个对象的拷贝。(详情),补充(深浅copy,引原创 2015-07-14 16:56:40 · 411 阅读 · 0 评论 -
Java集合类
概述JAVA集合类主要包括,Collection,Set,List,Map,Quene等基本接口,和Iterator(迭代器模式的具体实现)。具体集成结构如下: 注意:Set不能重复。TreeSet,TreeMap都是基于红黑树实现的已排序的集合。LinkIterator能够双向访问。HashTable基于废弃的Dictionary实现,是线程安全的,等同于Collections.sy原创 2015-09-09 18:25:38 · 420 阅读 · 0 评论 -
thrift 小结
概述Thrift是一个跨语言的服务部署框架,最初由Facebook于2007年开发,2008年进入Apache开源项目。Thrift通过一个中间语言(IDL, 接口定义语言)来定义RPC的接口和数据类型,然后通过一个编译器生成不同语言的代码(C++,Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk和OCaml),原创 2016-03-10 14:00:30 · 11495 阅读 · 0 评论 -
Java GC 小结
参考java回收机制详解JVM调优原创 2016-03-23 18:04:26 · 498 阅读 · 0 评论 -
Java字节码 小结
Referencejavap 基本用法深入理解java字节码从Java代码到字节码Java字节码.class文件案例分析字节码 核心概念Class文件是8位字节流,按字节对齐。之所以称为字节码,是因为每条指令都只占据一个字节,所有的操作码和操作数都是按字节对齐的。数据结构Java虚拟机规范中规定,Class文件格式采用一种类似C语言结构体的伪结构来存储,它只有两种数据类型无符号数(基本数据原创 2016-03-25 18:38:53 · 3459 阅读 · 2 评论 -
关于同步,异步,阻塞,非阻塞,IOCP/epoll,select/poll,AIO ,NIO ,BIO的总结
IO基本概念Linux环境Linux的内核将所有外部设备都可以看做一个文件来操作。那么我们对与外部设备的操作都可以看做对文件进行操作。我们对一个文件的读写,都通过调用内核提供的系统调用;内核给我们返回一个file descriptor(fd,文件描述符)。对一个socket的读写也会有相应的描述符,称为socketfd(socket描述符)。描述符就是一个数字(可以理解为一个索引),指向内核中一个结原创 2015-09-09 13:52:19 · 11587 阅读 · 4 评论 -
java常用工具
相关资料jstat java性能统计工具jstack java线程堆栈工具jmap java内存映像工具 jps java进程查看jinfo java配置信息工具jhat java堆快照分析工具jconsole 可视化java工具jvisualvm 可视化java工具jstatd java统计监控后台程序jdb java调试工具jps 简介列出所有java进程jps [ opt原创 2016-12-31 15:32:16 · 1136 阅读 · 0 评论 -
aop小结
aop 相关理论知识基本概念pointcut 切入点 格式execution模板demowithin和target针对类的注解annotation是针对方法的注解arg 针对参数必须是在目标对象上声明注解在接口上声明的不起作用withintargetthisargsdemoaop 的两种织入实现方式spring aop 运行时通过动态代理织入spring aop 的两种实现原创 2017-06-16 18:12:41 · 1115 阅读 · 0 评论 -
rabbitmq 小结
简介RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,具有良好的易用性、扩展性、高可用性。mq 主要用于解决跨系统的异步任务.核心概念QueueRabbitMQ中的消息都只能存储在Queue中,生产原创 2017-07-21 17:28:09 · 428 阅读 · 0 评论 -
java 多线程 备忘
java 多线程 备忘由于计算机的存储设备与处理器的运算能力之间有几个数量级的差距,所以现代计算机系统都不得不加入一层读写速度尽可能接近处理器运算速度的高速缓存(cache)来作为内存与处理器之间的缓冲:将运算需要使用到的数据复制到缓存中,让运算能快速进行,当运算结束后再从缓存同步回内存之中,这样处理器就无需等待缓慢的内存读写了。基于高速缓存的存储交互很好地解决了处理器与内存的速度矛盾,但...原创 2018-02-24 19:14:11 · 330 阅读 · 0 评论 -
OutOfMemoryError 汇总
内存溢出内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。 内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。memory lea...原创 2018-06-29 18:04:22 · 6807 阅读 · 1 评论 -
JNI——Java调用DLL
基本概念JNI其实是Java Native Interface的简称,也就是java本地接口。它提供了若干的API实现了和Java和其他语言的通信(主要是C&C++)。对于那些对性能要求比较高的Java程序或者Java无法处理的任务无疑是一个很好的方式。实验方案假设我们的Java程序为J2C.java,C程序为J2C.c,Java与C之间的通信函数名为write2proc; write2proc的原创 2015-08-03 23:08:04 · 608 阅读 · 0 评论 -
程序编译过程
C编译过程程序的编译过程如下图所示,分为预处理、编译、汇编、链接等几个阶段。 预处理:预处理相当于根据预处理命令组装成新的C程序,不过常以i为扩展名。 编译: 将得到的i文件翻译成汇编代码。s文件。 汇编: 将汇编文件翻译成机器指令,并打包成可重定位目标程序的O文件。该文件是二进制文件,字节编码是机器指令。 链接: 将引用的其他O文件并入到我们程序所在的o文件中,处理得转载 2015-07-14 13:14:21 · 509 阅读 · 0 评论 -
Java 堆栈
Java把内存分成两种,一种叫做栈内存,一种叫做堆内存在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。堆内存用于存放由new创建的对象和数组。在堆中分配的内存,由java虚拟机自动垃圾回收器来管理。在堆中产生原创 2015-03-27 13:00:02 · 458 阅读 · 0 评论 -
Struts——资源文件加载到Container
Struts—相关总结站在巨人的肩膀上: IOC容器实现原理初始化配置加载Struts2Struts刨根问底请求在Struts2框架中的处理大概分为以下几个步骤:当用户提交登录请求后,请求的URL为:“/strutsDeepen/loginAction.action”,请求会被Tomcat服务器接收到,Tomcat服务器会根据请求URL中的web上下文,也就是“/strutsDeepen”原创 2015-03-18 22:04:26 · 2217 阅读 · 0 评论 -
Java输入输出
控制台输入输出ScannerScanner官方文档public static void main(String[] args) { List<Integer> arry=new ArrayList<Integer> (); Scanner sc = new Scanner(System.in); while(sc.hasNextLine())原创 2015-04-06 13:11:06 · 445 阅读 · 0 评论 -
JAVA面试700问
一||first 六||sixth 其他技能面试总结文档(SQL,C#,C++,Linux,Oracle,JAVA,OOPS)Download转载 2015-04-07 19:32:12 · 812 阅读 · 0 评论 -
Java8 Lambda
运行环境安装JDK8下载路径; 直接安装,并修改环境变量“JAVA_HOME”为相应文件夹设置eclipse的JRE为JDK8下的jre; “Window”->”Reference”->”Java”->”Installed JREs”->添加默认jre(注意以往的项目还是基于原默认的JRE需手动修改为当前JRE)安装“JAVA8 support for Eclipse keplerSR2”原创 2015-04-07 19:17:15 · 457 阅读 · 0 评论 -
数据库连接池
基本概念对于共享资源,有一个很著名的设计模式:资源池。该模式正是为了解决资源频繁分配、释放所造成的问题的。把该模式应用到数据库连接管理领域,就是建立一个数据库连接池,提供一套高效的连接分配、使用策略,最终目标是实现连接的高效、安全的复用。 数据库连接池的基本原理是在内部对象池中维护一定数量的数据库连接,并对外暴露数据库连接获取和返回方法。如: 外部使用者可通过getConnection方法获取连原创 2015-04-28 19:07:42 · 733 阅读 · 0 评论 -
JAVA Webservice
简介WebService学习笔记 Java 实现调用WebService的几种方式使用wsimport根据WSDL自动生成客户端代码 java 调用webservice的各种方法总结cmd->wsimport -keep -d 存放class文件的路径 -s 存放Java文件的路径 -p 类的包名 具体的WSDL地址发布WebService注解的方式package com.webse原创 2015-05-11 09:48:43 · 637 阅读 · 0 评论 -
Hibernate自动生成实体类
站在巨人的肩膀上eclipse从数据库逆向生成Hibernate实体类可能出现问题EntiyClass is not map1.在hibernate.cfg.xml的session-factory节点下添加2.HQL是针对实体类进行处理的,注意表名应该是对应的实体类名;转载 2015-05-13 09:17:59 · 700 阅读 · 0 评论 -
Java Memcached
MemcachedMemcached是一个免费开源、高性能、分布式的内存对象缓存系统。Memcached使用二级hash实现缓存,一级缓存实现资源存放节点的确认,二级缓存获得具体Key对应的Value。memcached搭建缓存系统Windows上的Memcached安装ResourceDownload安装流程cmd执行“memcached.exe -d install”,安装memcached。原创 2015-05-13 09:41:11 · 397 阅读 · 0 评论 -
JAVA WebSpider
站在巨人的肩膀上开源网络爬虫实现爬虫原理虚拟表单提交HtmlUnit简介 HtmlUnit本来是一款自动化测试的工具,它采用了HttpClient和java自带的网络api结合来实现,它与HttpClient的不同之处在于,它比HttpClient更“人性化”。 在写HtmlUnit代码的时候,仿佛感觉到的就是在操作浏览器而非写代码,得到页面(getPage)– 寻找到文本框(getElem原创 2015-05-27 16:35:12 · 710 阅读 · 0 评论 -
XML自动建表/存库
流程验证XML文档是否合法;使用SAX解析XML内容到HashMap中;根据HashMap内容,模仿sql语句的格式动态生成SQL语句,执行该语句实现自动建表/入库操作注:源码实现XML自动生成XSD函数,XSD自动生成类(Java Bean),绑定XML内容到类(Java Bean),对象转化为XML源码下载Downloadxsd验证XML public static boolean va原创 2015-05-28 23:17:28 · 1105 阅读 · 1 评论 -
Java实现Web服务器
HTTP原理WWW的工作基于客户机/服务器计算模型,由Web 浏览器(客户机)和Web服务器(服务器)构成,两者之间采用超文本传送协议(HTTP)进行通信。HTTP协议是基于TCP/IP协议之上的协议,是Web浏览器和Web服务器之间的应用层协议,是通用的、无状态的、面向对象的协议。HTTP协议的作用原理包括四个步骤: (1) 连接:Web浏览器与Web服务器建立连接,打开一个称为socket(套原创 2015-05-29 22:59:02 · 421 阅读 · 0 评论 -
spring 集成 小结
Spring 集成场景Spring 作为业界比较常用的 ioc 容器,新的框架,为了更好的在spring 项目中使用,基本都要集成到spring中,spring提供了很多种集成方案,本文将简单总结一下spring 集成的方案和需要注意的问题。ImportBeanDefinitionRegistrar/BeanDefinitionRegistryPostProcessor and @Impor...原创 2018-12-18 20:22:22 · 460 阅读 · 0 评论