九路 九路
4年前
从面试角度分析ArrayList源码
注:本系列文章中用到的jdk版本均为java8ArrayList类图如下:ArrayList的底层是由数组实现的,数组的特点是固定大小,而ArrayList实现了动
Stella981 Stella981
3年前
Spring 源码(九)@Autowired注解实现原理(Spring Bean的自动装配)
@Autowired注解的实现过程,其实就是SpringBean的自动装配过程。通过看@Autowired源码注释部分我们可以看到@Autowired的实现是通过AutowiredAnnotationBeanPostProcessor后置处理器中实现的。AutowiredAnnotationBeanPostProcessor类图
Wesley13 Wesley13
3年前
Java对象转换成Map
需求总是千奇百怪,对象转成map,看似没必要,但就是有这个需求,所以记录下来首先是Beanpackagetools;importlombok.Data;/车辆实体类/@DatapublicclassCar{pri
Wesley13 Wesley13
3年前
Java16周作业
题目1:编写一个应用程序,利用Java多线程机制,实现时间的同步输出显示。/\使用Runnable接口使用类创建线程对象,重写run()方法\\/代码publicclasstimetext{publicstaticvoidmain(Stringargs){Threa
Easter79 Easter79
3年前
Tomcat8源码分析3
1\.执行Bootstrap类的static代码块,初始化Bootstrap的catalinaHomeFile属性和catalinaBaseFile属性,默认情况下值都为tomcat的安装目录.关于这两个属性,说明如下.Adva
Stella981 Stella981
3年前
HanLP分词工具中的ViterbiSegment分词流程
本篇文章将重点讲解HanLP的ViterbiSegment分词器类,而不涉及感知机和条件随机场分词器,也不涉及基于字的分词器。因为这些分词器都不是我们在实践中常用的,而且ViterbiSegment也是作者直接封装到HanLP类中的分词器,作者也推荐使用该分词器,同时文本分类包以及其他一些自然语言处理任务包中的分词器也都间接使用了ViterbiSegment
Stella981 Stella981
3年前
GuozhongCrawler看准网爬虫动态切换IP漫爬虫
有些关于URL去重的方面代码没有提供,需要自己去实现。主要这里提供思路项目地址:http://git.oschina.net/woshidaniu/GuozhongCrawler/tree/master/example/changeProxyIp/首先爬虫入口类:publicclassPervadeSpider{  
Stella981 Stella981
3年前
Docker的UI助手Portainer,可视化操作使docker管理变的更加容易
   docker的用处不多加赘述,作为开发人员,理解别人的轮子,比自己重新造一个相同的轮子更切合实际,docker的容器思想其实和java中的class类和这个类的实例化概念相同,docker的镜像和容器,本文也从本人学习docker的第一步来描述Portainer的使用。本人,在各种云服务器的js的广告下买了一台新的服务器,由于之前没有过
Stella981 Stella981
3年前
Spring scope属性详解
scope用来声明IOC容器中的对象应该处的限定场景或者说该对象的存活空间,即在IOC容器在对象进入相应的scope之前,生成并装配这些对象,在该对象不再处于这些scope的限定之后,容器通常会销毁这些对象。打个比方吧!我们都是处在社会(容器)中,如果把中学教师作为一个类定义,那么当容器初始化这些类之后,中学教师只能局限在中学这个场景中,中学,就可以
Easter79 Easter79
3年前
System.CodeDom详述及其应用实例
.NET推崇这样一种思想:相对于框架而言,语言处于从属、次要的地位。CodeDom名称空间中包含的类是这一思想的集中体现。我们可以用CodeDom构造一个树或图,用System.CodeDom名称空间的类填充它,完成后,用对应各种.NET语言的CodeProvider对象将树结构转换成该种语言的代码。要更换一种语言,简单到只需更换一下最后用到的CodePro