
Java
文章平均质量分 95
This is bill
这个作者很懒,什么都没留下…
展开
-
简易Java爬虫制作
一、文章来由本来最近任务挺多,但是今天想放松一下,正巧Bill喜欢玩英语配音,而配音都是在配音软件的云上,我想把那些都拿到,于是就写一了一个爬虫,接着就有了这篇爬虫教程~~二、爬虫!!爬虫!!首先要搞清什么叫爬虫~~ 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动原创 2015-08-07 14:06:44 · 6471 阅读 · 10 评论 -
AL Spring框架学习笔记
1、开闭原则面向对象编程:(1)对修改关闭(尽量不要修改源码) (2)对扩展开放2、容器能取出和放入对象的东西3、Bean容器中放入的东西4、spring xml<bean id="boy1" class="com.alipay.demo.CalabashBoy">(实例化) <property name="name"(找set方法) value="大娃"/>(注入属性) <pro原创 2016-06-18 15:46:01 · 3484 阅读 · 0 评论 -
hsp Spring学习笔记
一、Spring是什么及快速入门案例1、spring纵跨三层spring纵跨web层、业务层、dao层,接管这三层,配置bean,维护bean关系(1)Struts是web框架(jsp/action/actionform) (2)hibernate是orm框架,处于持久层 (3)spring是容器框架,用于配置bean,并维护bean之间关系的框架Spring中的bean,Java中的任何对象原创 2016-06-21 14:44:33 · 2112 阅读 · 0 评论 -
浅谈Java中的hashcode方法
哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率。在Java的Object类中有一个方法:1public native int hashCode(); 根据这个方法的声明可知,该方法返回一个int类型的数值,并且是本地方法,因此在Object类中并没有给出具体的转载 2016-07-10 10:09:41 · 881 阅读 · 0 评论 -
HashMap实现原理分析
1. HashMap的数据结构数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。 数组数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;链表链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。链表的特点是:寻址困难转载 2016-07-10 10:20:13 · 615 阅读 · 0 评论 -
Java之:Threadlocal
先上一段代码:package MultiThread;/** * Created by hupo.wh on 2016/7/8. */public class ThreadLocalTest {}class TestNum { // ①通过匿名内部类覆盖ThreadLocal的initialValue()方法,指定初始值 private static ThreadLocal<原创 2016-07-10 10:58:01 · 661 阅读 · 0 评论 -
Minor GC、Major GC和Full GC之间的区别
在 Plumbr 从事 GC 暂停检测相关功能的工作时,我被迫用自己的方式,通过大量文章、书籍和演讲来介绍我所做的工作。在整个过程中,经常对 Minor、Major、和 Full GC 事件的使用感到困惑。这也是我写这篇博客的原因,我希望能清楚地解释这其中的一些疑惑。文章要求读者熟悉 JVM 内置的通用垃圾回收原则。堆内存划分为 Eden、Survivor 和 Tenured/Old 空间翻译 2016-07-10 11:21:14 · 669 阅读 · 0 评论 -
GC学习笔记
一、GC特性以及各种GC的选择1、垃圾回收器的特性2、对垃圾回收器的选择2.1 连续 VS. 并行2.2 并发 VS. stop-the-world2.3 压缩 VS. 不压缩 VS. 复制二、GC性能指标三、分代回收四、J2SE 5.0的HotSpot JVM上的GC学习 - 分代、GC类型、快速分配五、J2SE 5.0的H转载 2016-07-10 11:28:26 · 621 阅读 · 0 评论 -
java GC 笔记图
1.Java 运行时内存主要分为:堆区方法区程序计数器虚拟机栈本地方法栈其中a和b为线程共享,c、d和e为线程独享。将常见的一些参数,如堆的小大小-xms和最大大小-xmx等加上有图:堆区主要分为Yong区和Old区,Yong区又分为Eden,S0和S1,YGC多次回收不了的对象会放入Old区。2.GC回收对象的判断3.YGC的回收过程原创 2016-07-10 11:29:54 · 764 阅读 · 0 评论 -
Java GC编程
Java程序员在编码过程中通常不需要考虑内存问题,JVM经过高度优化的GC机制大部分情况下都能够很好地处理堆(Heap)的清理问题。以至于许多Java程序员认为,我只需要关心何时创建对象,而回收对象,就交给GC来做吧!甚至有人说,如果在编程过程中频繁考虑内存问题,是一种退化,这些事情应该交给编译器,交给虚拟机来解决。这话其实也没有太大问题,的确,大部分场景下关心内存、GC的问题,显得有点“转载 2016-07-10 11:36:45 · 802 阅读 · 0 评论 -
看懂UML类图和时序图
内容目录:从一个示例开始类之间的关系时序图附录:《图说设计模式》看懂UML类图和时序图这里不会将UML的各种元素都提到,我只想讲讲类图中各个类之间的关系; 能看懂类图中各个类之间的线条、箭头代表什么意思后,也就足够应对 日常的工作和交流; 同时,我们应该能将类图所表达的含义和最终的代码对应起来; 有了这些知识,看后面章节的设计模式结构图就没有什么问题了;本章所有图形转载 2016-07-10 17:07:47 · 1698 阅读 · 0 评论 -
UML交互图 -- 时序图 协作图详解
作者 : 万境绝尘转载请注明出处 : http://blog.youkuaiyun.com/shulianghan/article/details/17927131.动态图概念 : 从静态图中抽取瞬间值的变化描述系统随时间变化的行为, 动态图包括交互图活动图状态图, 这篇博客研究交互图 包括时序图和协作图;-- 时序图 : 显示对象之间的关系, 强调对象之间消息转载 2016-07-10 17:11:13 · 15131 阅读 · 1 评论 -
spring注解注入:<context:component-scan>
spring从2.5版本开始支持注解注入,注解注入可以省去很多的xml配置工作。由于注解是写入java代码中的,所以注解注入会失去一定的灵活性,我们要根据需要来选择是否启用注解注入。我们首先看一个注解注入的实际例子,然后再详细介绍context:component-scan的使用。如果你已经在用spring mvc的注解配置,那么你一定已经在使用注解注入了,本文不会涉及到sprin原创 2016-06-29 11:32:34 · 901 阅读 · 0 评论 -
Intellij IDEA如何将普通工程转换成maven工程
项目上右键 Add Framework Support,选择mavenOVER原创 2016-07-11 11:28:52 · 10923 阅读 · 6 评论 -
Maven:mirror和repository 区别
1 Repository(仓库)1.1 Maven仓库主要有2种:remote repository:相当于公共的仓库,大家都能访问到,一般可以用URL的形式访问local repository:存放在本地磁盘的一个文件夹,例如,windows上默认是C:\Users\{用户名}\.m2\repository目录1.2 Remote Repository主要有3转载 2016-07-11 15:58:58 · 4103 阅读 · 1 评论 -
cglib proxy 源码学习
背景前段时间在写hank hsf 的工具(http://www.atatech.org/articles/23763) 时,发现cndcp 中,一个单例的bean,被jmonitor 做了代理, 动态生成了3个class, 其中 CndcpConsolidationTmsOrderServiceImplEnhancerByCGLIBEnhancerByCGLIB35f433a5转载 2016-07-22 14:41:30 · 2910 阅读 · 0 评论 -
实现aop思想的多种方法
含义:AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高转载 2016-07-22 14:44:06 · 1860 阅读 · 0 评论 -
【转载】JAVA知识点集锦(上)
1、面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: - 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。 - 继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让变化中的软件系统有了一定的转载 2016-07-22 14:46:34 · 3535 阅读 · 0 评论 -
【转载】JAVA知识点集锦(中)
这部分主要是与Java Web和Web Service相关的面试题。96、阐述Servlet和CGI的区别? 答:Servlet与CGI的区别在于Servlet处于服务器进程中,它通过多线程方式运行其service()方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于Servlet。补充:Sun Micr转载 2016-07-22 14:47:03 · 1788 阅读 · 0 评论 -
【转载】JAVA知识点集锦(下)
这部分主要是开源Java EE框架方面的内容,包括Hibernate、MyBatis、Spring、Spring MVC等,由于Struts 2已经是明日黄花,在这里就不讨论Struts 2的面试题,如果需要了解相关内容,可以参考我的另一篇文章《Java面试题集(86-115)》。此外,这篇文章还对企业应用架构、大型网站架构和应用服务器优化等内容进行了简单的探讨,这些内容相信对面试会很有帮助。转载 2016-07-22 14:47:30 · 1843 阅读 · 0 评论 -
JDK动态代理的常见问题
1. 代理只代理接口上的方法本身,不关注实现 类具体实现一个类有a,b两个方法,a中调用了b,如果用动态代理拦截了b,那么调用a方法时,a中对b调用会被拦截么?public class Bean1 implements Bean { public void a() {System.out.println('a');b();} public void b() {S转载 2016-07-22 14:50:02 · 3005 阅读 · 0 评论 -
ITestMock原理解析
1. 干什么用的首先明确一点,ITestMock是一个【Mock管理框架】。顾名思义,我们先来解释一些这个名词中涉及的几个概念。Mock:是一种通过创造难以复现或者缺失的真实对象的替代实例,来进行模拟测试的一种测试手段。它主要应用于隔离复杂的真实外部应用如网络、数据等以专注自身逻辑正确性的测试场景。现在常用的Mock框架已经有不少比较成熟的mock框架如easymock转载 2016-07-22 14:56:51 · 1862 阅读 · 0 评论 -
Mockito:一个强大的用于Java开发的模拟测试框架
介绍 本文将介绍模拟测试框架Mockito的一些基础概念, 介绍该框架的优点,讲解应用Mockito的Java示例。模拟(Mock)的概念 在软件开发的世界之外, "mock"一词是指模仿或者效仿。因此可以将“mock”理解为一个替身,替代者。在软件开发中提及"mock",通常理解为模拟对象或者fake。 译者注:mock等多转载 2016-07-22 14:57:50 · 1052 阅读 · 0 评论 -
Mocks Aren't Stubs
Mocks Aren't StubsThe term 'Mock Objects' has become a popular one to describe special case objects that mimic real objects for testing. Most language environments now have frameworks that make转载 2016-07-22 17:23:51 · 1419 阅读 · 0 评论 -
Java超级大火锅
实习换语言到Java,基础很多需要整理,专门为Java开一个大火锅~~1、事务 事务指的是逻辑上的一组操作,这组操作要么全部成功,要么全部失败。事务的4大特性:ACID,指数据库事务正确执行的四个基本要素的缩写。包含:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。详见:http://blog.youkuaiyun.com/sc原创 2016-07-02 10:56:18 · 5768 阅读 · 2 评论 -
TCP粘包,拆包及解决方法
转自:http://blog.insanecoder.top/tcp-packet-splice-and-split-issue/在进行Java NIO学习时,发现,如果客户端连续不断的向服务端发送数据包时,服务端接收的数据会出现两个数据包粘在一起的情况,这就是TCP协议中经常会遇到的粘包以及拆包的问题。我们都知道TCP属于传输层的协议,传输层除了有TCP协议外还有UD转载 2016-07-22 16:35:36 · 39585 阅读 · 9 评论 -
Spring applicationContext.xml约束
<?xml version="1.0" encoding="utf-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springfr原创 2016-06-30 17:10:52 · 1537 阅读 · 0 评论 -
Java事务
一、什么是事务这些就是数据库特有的术语了。懒虫在这里口头解释: 就是把多件事情当做一件事情来处理。也就是大家同在一条船上,要活一起活,要over一起over !事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transaction和原创 2016-06-27 21:35:52 · 930 阅读 · 0 评论 -
java 虚拟机--新生代与老年代GC
摘要堆设置 -Xms :初始堆大小 -Xmx :最大堆大小 -XX:NewSize=n :设置年轻代大小 -XX:NewRatio=n: 设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4 -XX:SurvivorRatio=n :年轻代中Eden区与两个Survivor区的比值。注意Survivor区有两个。如:3,表示Eden:Survi转载 2016-07-01 10:00:32 · 908 阅读 · 0 评论 -
JAVA反射机制
反射,当时经常听他们说,自己也看过一些资料,也可能在设计模式中使用过,但是感觉对它没有一个较深入的了解,这次重新学习了一下,感觉还行吧! 一,先看一下反射的概念: 主要是指程序可以访问,检测和修改它本身状态或行为的一种能力,并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。转载 2016-06-15 16:07:24 · 809 阅读 · 0 评论 -
红黑树插入和删除结点的全程演示
作者:July、saturnman。时间:二零一一年三月二十八日。出处:http://blog.youkuaiyun.com/v_JULY_v。声明:版权所有,侵权必究。-----------------------------------引言: 目前国内图书市场上,抑或网上讲解红黑树的资料层次不齐,混乱不清,没有一个完整而统一的阐述。而本人的红黑树系列四篇文章(详见文末转载 2016-07-24 10:17:03 · 1474 阅读 · 0 评论 -
Java基础学习过程
JVM 1. 内存模型( 内存分为几部分? 堆溢出、栈溢出原因及实例?线上如何排查?) 2. 类加载机制 3. 垃圾回收 Java基础 什么是接口?什么是抽象类?区别是什么? 什么是序列化? 网络通信过程及实践 什么是线程?java线程池运行过程及实践(Executors)原创 2016-06-17 14:58:24 · 10825 阅读 · 15 评论 -
reactor与proactor模式
首先分享一下,我在网上看到的两篇不错的文章:正是这两篇文章才理解了reactor和proactor模式; Reactor模式,或者叫反应器模式高性能IO设计的Reactor和Proactor模式 首先就第一篇《Reactor模式,或者叫反应器模式》做一下笔记: 刚开店做生意,老板为了给顾客一个美好的印象,给顾客最好的服务,一对一: 随转载 2016-07-02 16:40:46 · 1063 阅读 · 0 评论 -
红黑树分析
为什么要设计成红黑间隔呢?摘录自维基百科 https://zh.wikipedia.org/wiki/%E7%BA%A2%E9%BB%91%E6%A0%91性质[编辑]红黑树是每个节点都带有颜色属性的二叉查找树,颜色为红色或黑色。在二叉查找树强制一般要求以外,对于任何有效的红黑树我们增加了如下的额外要求:节点是红色或黑色。根是黑色。所有叶子都是黑色(叶子是NIL原创 2016-07-24 10:30:25 · 1225 阅读 · 0 评论 -
JVM之:垃圾收集器
如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商、不同版本的虚拟机所提供的垃圾收集器都可能会有很大差别,并且一般都会提供参数供用户根据自己的应用特点和要求组合出各个年代所使用的收集器。这里讨论的收集器基于JDK 1.7 Update 14之后的HotSpot虚拟机。这个虚拟机包含的所有收集器如下图所示原创 2016-07-14 10:34:26 · 1549 阅读 · 0 评论 -
Java之socket
简单的socket实现://///SocketClient.javapackage socket;import java.io.IOException;import java.io.OutputStream;import java.net.Socket;/** * Created by hupo.wh on 2016/7/14. */public class SocketClient {原创 2016-07-14 13:04:12 · 687 阅读 · 0 评论 -
Java之:反射机制
一、反射机制应用场景知道在哪里用的情况很重要,任何东西的产生都有他的来由,知道了场景才知道为什么要发明这个东西。 一般在开发针对java语言相关的开发工具和框架时使用,比如根据某个类的函数名字,然后执行函数,实现类的动态调用!而且这么看,所有面向对象的语言可能都会用到这个机制,西草原生并不支持这种机制,但是可以手动实现,详情请见好基友的文章,http://blog.youkuaiyun.com/k346k原创 2016-06-18 10:04:49 · 2906 阅读 · 0 评论 -
RPC框架
作者:用心阁链接:https://www.zhihu.com/question/25536695/answer/36197244来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。关于RPC你的题目是RPC框架,首先了解什么叫RPC,为什么要RPC,RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提转载 2016-06-20 11:10:14 · 1218 阅读 · 0 评论 -
Java的抽象类与接口
接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法。 抽象类与接口是Java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力。他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别。 一、抽象类 我们都知道在面向对象的领域一切都是对象,同时所有的对象都是通过类转载 2016-06-22 10:09:13 · 1269 阅读 · 0 评论 -
java的nio实现
前言:最近在研究java netty这个网络框架,第一篇先介绍java的nio。 java nio在jdk1.4引入,其实也算比较早的了,主要引入非阻塞io和io多路复用。内部基于reactor模式。nio核心: - buffer - channel - selectorbuffer: 类似网络编程中的缓冲区,有 ByteBuffer 字节转载 2016-06-17 20:30:51 · 1062 阅读 · 0 评论