- 博客(16)
- 资源 (3)
- 收藏
- 关注
原创 Angular2笔记(1)——初步认识
笔者原来是一个纯后端屌丝程序员, 在学校的时候, 看见 html/js 就头疼, 最不愿意看见的就是css。工作后, 发现项目组没有前端工程师, 谁的模块谁从头到尾自己负责, 前端开发的任务自然就落在了我们这些后端工程师身上。前端写得多了, 渐渐发现前端已经不再是以前自己认识的那个前端, 它的复杂度不亚于后端。近些年, 可以说是前端技术爆发的年代
2016-12-12 00:41:14 763
原创 Java线程系列(3)——线程的动作与状态的关系
线程的动作和线程的状态并不是一一对应的关系, 即两个线程执行了同样的动作, 但是可以产生不同的状态, 这之间的差别主要由线程调用Java层面的API决定。
2016-12-05 21:39:18 894
原创 Java线程系列(2)——线程有限等待状态分析
上篇文章讨论了 Jstack 的用法、thread dump 文件的基本格式, 介绍了线程的六种状态并且分析了 BLOCKED 和 WAITING 状态的成因以及 dump 文件的特征。本文是Java线程系列文章的第二篇, 继续讨论较为复杂的 TIMED_WAITING 状态。
2016-12-05 21:30:08 1439
原创 Java线程系列(1)——thread dump格式、锁与线程的状态
前不久连续收到Java线程数量过多的报警, 通过 Jstack 工具导出生产环境服务器的线程快照后, 通过分析 dump 文件, 很快就确定了问题。 以前没有排查线上线程数量问题的实战经验, 因此想借助这次机会, 从 thread dump 的角度重新认识Java线程。
2016-12-05 21:20:58 1379
原创 Zookeeper的ACL控制探讨
Zookeeper的ACL控制探讨前言在利用Zookeeper编写配置管理示例程序时, 关于ACL权限控制一直有疑惑, 特别是对节点的五种权限分别控制用户的什么行为不清楚. Google、百度了不少文章发现大部分只介绍了如何进行权限认证,对权限控制的行为以及对象粗略带过, 即使写了这部分内容也有不少问题. 基于这些原因, 我查阅了官方文档并且做了不少测试来验证权限控制的行为
2016-12-05 21:11:29 1083
转载 深入探讨 Java 类加载器
类加载器(class loader)是 Java™中的一个很重要的概念。类加载器负责加载 Java 类的字节代码到 Java 虚拟机中。本文首先详细介绍了 Java 类加载器的基本概念,包括代理模式、加载类的具体过程和线程上下文类加载器等,接着介绍如何开发自己的类加载器,最后介绍了类加载器在 Web 容器和 OSGi™中的应用。
2015-04-25 21:50:55 562
原创 内部排序:希尔、快速、堆、归并等排序算法Java实现
1. 前言 排序(Sorting)是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个按关键字有序的序列。 排序方法主要分为两大类:一类是内部排序,指的是待排序记录存放在计算机随机储存器中进行的排序过程;另一类是外部排序,指的是待排序记录的数量很大,以致内存一次不能容纳全部记录,在排序过程中尚需对外存进行访问的排序过程。本篇文章讨论内部排序算法。 内
2015-04-07 23:14:30 926
原创 Dom4j方式解析XML乱码问题详解
1. 引起乱码的原因现象:将内存中的Document对象保存到持久化设备生成XML文件后,XML文件无法正常打开,出现乱码。表面原因:因为XML文件的真正格式(即XML文件保存在持久化设备上的编码格式)和XML文档声明的encoding属性值不一致。深层原因:一个没有问题的XML文件(XML文件的真正的编码格式和encoding属性值一致),Dom4J API都可以把这个XML文件正
2014-11-30 17:06:46 3428 1
原创 SAX方式解析XML详解
一、SAX解析原理简介原理:SAX方式采用事件处理的方式解析XML文件,涉及到两个部分:解析器和事件处理器。SAX解析器从XML文件第一行开始往下读,读取一行处理一行(不能往回读取)。解析器每读取一行将会触发特定的事件,然后调用事件处理器中处理该事件的方法。解析器:可以使用Jaxp的API创建,创建SAX解析器后就可以指定它解析某个XML文件。事件处理器:由程序员编写,程序员通过事件处
2014-10-08 16:45:21 1197
原创 Dom方式解析XML详解
一、Dom解析XML原理Dom解析方式是把整个XML文件读入内存生成一个Document(org.w3c.dom.Document)对象代表整个XML文件,再把每一个标签解析成相应的对象并生成一棵DOM树,对XML文件的增删查改操作转化为增删查改DOM树中的节点。优点:对XML文件的CRUD操作很方便缺点:占用内存大开发包:Jaxp(sun公司)二、Dom解析步骤1
2014-10-08 16:31:27 1077
原创 Tomcat服务器配置详解
一、Web服务器概念Web服务器是一个应用程序,主要作用是响应浏览器的请求,并把处理结果发回浏览器。Tomcat是一个免费的Web服务器。Tomcat支持JSP和Servlet规范。WebLogic(BEA公司)、WebSphere(IBM)是商用Web服务器,支持J2EE规范。常用端口:http(80),smtp(25),pop3(110),ftp(23),https(443)。
2014-10-08 15:50:23 1309
原创 Java正则表达式学习笔记,分离网页邮件地址的蜘蛛程序
1. 用途正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。2. 使用Pattern和Matcher涉及到的类为:java.util.regex.Pattern、java.util.regex.Matcher和java.lang.String//编译一个正则表达式模式,匹配时
2014-08-06 14:36:33 1888
原创 Java对Map排序
HashMap:最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度。HashMap最多只允许一条记录的键为Null(多条会覆盖);允许多条记录的值为 Null。非同步的。TreeMap:能够把它保存的记录根据键(key)排序,默认是按升序排序,也可以指定排序的比较器,当用Iterator 遍历TreeMap时,得到的记录是排过序的。TreeMap不允许key的值为null。非同步的。Hashtable:与 HashMap类似,不同的是:key和va
2014-08-03 20:34:10 910
原创 Java线程(初级)——synchronized、死锁、wait、notify详解
线程可以在任意对象的监视器(锁)上阻塞(wait,前提是获取到该对象的锁),也可以在唤醒任意一个wait在某个对象的监视器上的线程(notify,前提是获取到该对象的锁)。“获取到某个对象的锁”,就像获取到某种资格一样,只有有了这种资格才能够让自己阻塞在该锁上面或者唤醒已经阻塞在该锁上的其它线程。由此可知,每个对象的监视器上面自愿wait和被notify的线程只和该对象有关。因为每个对象都具有锁,每个锁均不同,故wait和notify的方法调用要通过对象调用,所以wait和notify方法要在Object中
2014-08-03 20:01:20 4817
原创 C#基础——C#连接SQL数据库
引言本文将简单介绍C#程序连接SQL数据库数据库的几个步骤,初学者可以参考,文章最后给出一个可以使用的DBHelper类。
2014-08-01 10:58:49 1235
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人