自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小小程序猿

本人大三,求个暑期实习,谢谢。

  • 博客(84)
  • 资源 (1)
  • 收藏
  • 关注

原创 大三下学期流水账

还有一年就毕业了。看看博客,已经三个月没有动了,决定写个流水账,给自己时间缕一下下半学期都做了啥。首先,是三月的时候,知道了春招的消息,因为知道的晚点吧,准备很仓促,三月底就投了几份简历,主要刚开始自己太怂,没敢投太多。然后就是内心忐忑的等待笔试面试。说实话,刚开始我对自己没有很大的信心,不管是学历也好,还是项目也好,都觉得有很大的欠缺。然而,运气不错,腾讯,京东,58等几家公司都给了我面试机...

2018-07-27 20:34:06 807 2

原创 占个坑,,,,

这个月忙的焦头烂额,准备面试找实习,,,,做项目,,,,准备安卓大作业,,,,,,很累,,但收获了好多,,,先占个坑,,,等我有时间再回来补上,,,,...

2018-05-31 23:18:58 260

原创 JDK源码阅读(6)、常用集合间的关系

看了些源码了,该把这个集合间的关系缕清了。祭出网上流传已久的java集合关系类图一、集合关系类图二、相关的接口和类    1.Iterable接口  :进行集合中数据的遍历。 Iterator<T> iterator();//生成集合数据对应的迭代器 /** 从jdk1.8开始出现的接口,在集合中元素遍历过程中 进行一些自定义操作 */...

2018-04-02 23:04:45 297

原创 JDK源码阅读(四)、ArrayList&LinkedList

一、ArrayList与LinkedList对比          ArrayList内部采用可变数组存储数据,所谓可变,就是数组的长度不是固定的,当添加数据到达上限的时候,会增长为原来的1.5倍。ArrList适合数据的随机读取,不适合大数据量数据的删除与,因为删除的话会进行数组的复制。          LinkedList内部采用链表进行数据的存储,这也意味着LinkedList适合数据的增...

2018-04-02 17:12:16 242

原创 JDK源码阅读(三)、LinkedHashMap

一、LinkedHashMap原理        LinkedHashMap继承自HashMap,所以,它有hashMap的全部特性,它内部采用存储数据额的节点继承自HashMap的node。有一个before与after用于维护插入或者访问的顺序。它内部的put,get,remove等方法都是调用HashMap的方法。当这些方法调用完成后再通过一个回调子类的方法进行子类的相关操作。(因为它一些特...

2018-03-28 23:29:42 243

原创 JDK源码阅读(二)、HashMap

HashMap算是内容比较多的了,刚开始看3000行左右也是挺蒙蔽的,不过读起来也没那么麻烦。 一、概括HashMap内部采用数组+链表(树)的方式进行数据的存储与维护,数组的每个位置存放的是一个链表或者树。每次存放数据时候,由Key的Hash值经过一些操作决定存放的数据下标,再经过遍历指定数组位置链表(树),判断V是否相同,相同的话替换,不同的话放在链表的尾部。删除也是类似的流程。(需要注意,在...

2018-03-28 19:38:58 325

原创 JDK源码阅读(一)、PriorityQueue

写在前面,最近准备春招找实习,还有项目要做,一直没更新博客。不过通过这次找实习总结出来一个结论,基础很重要。 唉,这次找实习就当试试水了,总结一下经验,打好基础。秋招再战~ JDK源码一个学长也说了,算是集大家之精华,读了有益无害哈~一、 优先队列的内部原理 优先队列,通过名字就应该知道它内部是按照一定的优先关系进行元素的排列。而优先队列默认内部采用小根堆维护着一个一维数组。   至于什么是堆

2018-03-26 23:44:58 241

原创 Spring中WebApplicationInitializer的理解

    现在JavaConfig配置方式在逐步取代xml配置方式。而WebApplicationInitializer可以看做是Web.xml的替代,它是一个接口。通过实现WebApplicationInitializer,在其中可以添加servlet,listener等,在加载Web项目的时候会加载这个接口实现类,从而起到web.xml相同的作用。下面就看一下这个接口的详细内容。     首先打...

2018-03-06 23:17:24 56740 13

原创 logback使用与配置

好久没有写博客了。因为忙着搞项目,而且因为放假。猛然一回头,二月最后一天了,好快,该把这个月学到的东西该总结一下了。写博客既是加深一下记忆,另外是如果有错误希望大家能指出来。一、为什么使用logback          logback作为log4j作者的另一款作品,避开了log4j的缺点。拥有更快的执行速度,某些场景下,logback的执行速度是log4j的10倍。        logback...

2018-02-28 21:38:16 596

原创 svn服务器搭建与使用

最近与朋友一块做东西,用到了svn。之前接触过没常用忘得差不多了。这次写这篇文章记录下来供日后复习。一、svn的基本操作          版本库创建(create):版本库一般创建在一个服务器上,其他用户将自己的文件提交到这个服务器进行保存。版本库包括提交的文件,还有修改历史。          检出(checkout):将创建一个版本库的工作副本。工作副本是开发者私人空间,可以在这

2018-01-26 18:13:00 1671

原创 dubbo学习记录(一)dubbo简介

作为阿里开源的项目,dubbo出现也有段时间了,之前接触过一点,但是没细研究,这次抽出时间来具体学习一下。一、什么是Dubbo?     Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。   (RPC:远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。举个例子:java中的类调用来说。A类

2018-01-06 22:59:26 279

原创 NIO学习三、基于NIO的WEB服务器

本文主要是对于NIO的应用,没什么特别的地方。一、准备过程 实现的http服务器只可以访问静态资源,需要将文件放在webroot目录下。二、设计流程: 1、开发Request进行请求资源的解析,找到请求的路径,如果请求不合法抛出异常。 2、开发Response将资源返回给客户端 3、开发HttpServer,创建ServerSocketCha

2017-12-05 17:14:30 1042

原创 NIO学习二、NIO的基本使用

这是作为学习NIO的总结,如有不对,请大佬指出。 一、基本操作(这些操作不会的时候查文档就行) 从一个buffer中读写到另一个buffer @Test public void bufferTest1(){ try { RandomAccessFile readAccessFile=new RandomAccessFi

2017-12-03 22:45:38 267

原创 NIO学习一、NIO简介

最近学习NIO,先说一下NIO的定义吧。NIO,就是new io,从jdk 1.4开始引入的新的api。它与传统的IO相比,有如下特性:1)NIO是面向缓冲区的,IO是面向流的。2)IO是阻塞的操作,如果一个io的read或者write没有得到数据的时候,会一直等待,当前线程不能做其他的事情。而NIO提供了非阻塞方式,它可以在没有数据到来之前,先做其他的事情,数据到来之后进行处理。3)N

2017-12-03 19:33:52 269

原创 Java中的Lambda表达式

最近看到一段代码, 里面用到了lambda表达式。刚开始学习java语法的时候对于这些东西只是草草看了一下,以后也没再用,到现在都忘干净了。突然感觉自己的基础很薄弱呀,,,所以重新学了一下,特此记录。一、什么是Lambda表达式?Lambda表达式是一个匿名函数,所谓的匿名函数,就是没有名字的函数。在Java中,Lambda表达式的出现,对于代码的简洁,性能的提升都有很大的帮助。二、Lambda表达

2017-11-30 23:22:35 291

原创 Tiny-Spring源码阅读(二)、AOP部分的理解

一、什么是AOP? AOP含义是面向切面编程,它通过类似于横切的技术,剖解开封装对象的内部,并将那些影响了多个类的公共行为封装到一个可重用模块中,把这些模块动态放入对象内部。以此来降低耦合度,AOP涉及很多名词,所以在阅读这部分源码的时候,最好还是先将AOP的原理搞清楚。推荐这位博主的文章:[SpringAOP原理。](https://my.oschina.net/elain/blog/38249

2017-11-28 11:52:38 490 1

原创 Tiny-Spring源码阅读(一)IOC的理解

Tiny-Spring作为spring一个简化版本,更容易阅读,而且读完之后很有收获,通过对TInySpring的阅读,对于Spring的认识更加清晰。一、什么是IOC? IOC又叫做控制反转,过去生成代码需要手工new出来对象,使用IOC之后,可以将对象的创建交给Spring容器。这样很大程度上降低了耦合度。二、Spring IOC实现(1) 对象的管理 Spri

2017-11-27 23:39:19 336

原创 动态代理的两种实现方式

最近在阅读Spring源码,对于Spring AOP动态代理的两种实现方式--JDK动态代理以及Cglib动态代理的实现又重新回顾了一下。特此记录。一、JDK动态代理 这是通过java反射机制来实现的,它所对应的类必须有接口。 Jdk动态代理主要有两个重要的地方: InvocationHandler:每一个动态代理类都需要折现这样一个

2017-11-27 17:35:10 3369

原创 SpringBoot学习记录三、整合MyBatis

一、前期准备:配置数据源            我使用的是druid,当然也可以使用其他的。使用方式都类似。            首先,引入需要的jar包。 com.alibaba druid 1.1.5 mysql mysql-connector-java 5.1.38            然后,在applica

2017-11-23 22:32:31 241

原创 nginx使用负载均衡进行压力测试得到的结论

nginx常被用于负载均衡,可能认为在使用它之后就可以提高访问网站的访问速度。因为有两台服务器,可以减轻服务器访问的压力。那么看一个测验。           在两台服务器的情况下使用负载均衡访问单纯的jsp页面。在10s内进行10000次访问一台服务器情况下,10s进行10000次访问        可以发现,一台服务器的效率高于两台服务器。那么在10s内访问

2017-11-23 21:28:51 7488 5

原创 SpringBoot学习记录二、基本使用

一、基本pom依赖 <!--识别application**.properties或者application**.yml资源文件,指定java版本,默认是1.6,设置默认编码UTf-8 指定版本信息,这样在自己的pom.xml中不写版本时候,会自动继承父pom文件的版本--> org.springframework.boot spring-boot-starter-pa

2017-11-22 09:38:29 253

原创 springboot学习记录一、SpringBoot简介

这类文章是用来记录自己学习springboot的过程,同时把自己的一些见解分享出来,如有不对的还请指出。一、什么是SpringBoot?          当你觉得搭建一个web还要写一大堆配置文件时候,当你感觉spring框架有些笨重的时候,就应该考虑使用spring-boot了。Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建

2017-11-20 10:58:00 1598

原创 Log4j的学习(附带与slf4j的整合)

Log4j建议只使用四个级别,优 先级从高到低分别是ERROR、WARN、INFO、DEBUG。

2017-11-16 15:46:24 281

原创 java中Memcached的使用(包括与Spring整合)

一、什么是Memcached?        Memcached是danga.com开发的分布式内存对象缓存系统,所谓分布式,意味着它不是本地的,而是基于网络连接完成服务。Memcached把一些数据通过key=value数据存储到内存中,这样访问更加方便快捷。但是随之而来的问题是如果Memcached关闭或者Memcached的服务器关闭那么所保存的内容也就没有了。二、安装Memcach

2017-11-15 19:55:11 539

原创 Spring的@Value获取不到值的问题

这两天做东西的时候发现一个问题,在SpringMVC中使用@Value的时候,无法获取@Value对应值。在网上查阅了各种资料之后,总结一下。首先,先说一下@Value注解的作用。               为了减少耦合度,通常,将一些固定的常量放在配置文件***.properties中。                                 当需要这些常量的时

2017-11-14 19:19:21 68842 1

原创 Cookie的作用域

今天做东西的时候出现一个问题。假如:一个用户进行登录验证,验证身份通过后,将生成的Token写入到Cookite当中。            用户进行登录验证的url:   localhost/user/login           然后,有一个页面            localhost/index,它在未经过身份验证的时候,是无法访问的。           我用一个拦截器

2017-11-10 11:01:43 515

原创 认识Tiles

为什么会用Tiles框架,一、什么是Tiles框架?             Tiles 是一种JSP布局框架,主要目的是为了将复杂的jsp页面作为一个的页面的部分机能,然后用来组合成一个最终表示用页面用的,这样的话,便于对页面的各个机能的变更及维护。二、为什么使用Tiles框架         你可能觉得,Tiles跟jsp:include标签一样的作用。当然,Tiles实现

2017-11-07 20:12:12 341

原创 设计模式学习五、代理模式

一、什么是代理模式?                  为另一个对象提供一个替身或一个占位符以控制对这个对象的访问。二、 代理类各种变体。         远程代理:使得客户端可以访问在远程主机的角色。         虚拟代理:当创建开销大的对象的时候,真正需要这个对象才创建它,当对象在创建前与创建中时候,由虚拟代理扮演对象替身的角色         保护代理:主要用于当前对

2017-11-06 14:46:19 222

原创 设计模式学习四、状态模式

一、什么是状态模式  定义:允许对象在内部状态改变时改变它的行为,对象看起来好像改变了它的类二、什么时候用状态模式?       当控制一个对象状态转换的条件表达式过于复杂时,使用状态模式。把状态的判断逻辑转移到表示不同的一系列类当中,可以把复杂的逻辑判断简单化。(避免了写很多的if。。。。else)三、状态模式构成              Context上下文:定义

2017-11-04 19:12:13 220

原创 设计模式学习三、迭代器模式

一、什么是迭代器模式           提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示二、使用场景         通用的方法遍历集合元素三、模式构成              迭代器角色:定义遍历元素所需要的方法              具体迭代器角色:实现迭代器接口的方法              聚集类:Aggregate

2017-11-03 11:59:28 162

原创 设计模式学习二、模板方法模式

一、什么是模板方法模式            模板设计方式:在一个方法中定义一个算法骨架,而将一些方法的实现放到子类中,这样使在不改变算法结构的情况下,重新定义算法中的一些步骤                ps:什么是模板,简单点说就是一个方法,这个方法定义了一组算法步骤。任何步骤都可以是抽象的,这些抽象的方法由子类来实现。二、使用场景               多个类有共同的

2017-11-01 11:29:06 213

原创 设计模式学习一、命令模式

一、什么叫做命令模式          定义:将请求封装成对象,这可以让你使用不同的队列,请求,或者日志请求来参数化其他对象。命令模式也支持撤销操作。二、使用场景               当需要将发出请求的对象和执行请求的对象解耦的时候使用命令模式。三、命令模式的构成:              命令模式包括:(1)命令接口或者命令抽象类(Command):定义命令类所需要

2017-10-30 17:52:13 210

原创 Windows把内存设置为0无法开机怎么办

之前作死, 把内存设置为了0,结果就悲剧了,,,,内存太小根本就开不开机,网上搜的方法大部分让我重装系统,,,,,不能这样,,,,   后来碰巧在一个论坛上看到一个博主写的方法,使用命令提示符进行修改,瞬间感觉看到了救星,,,,一尝试,当然成功了~~~~哈哈哈~~~        如果把内存设置为0,首先,在开机的时候,想办法进入命令提示符窗口,       然后,输入 bcdedit

2017-04-15 07:58:14 6586 3

原创 包含容斥原理【题目在挑战程序设计竞赛】

题目大意是这样的,给定a1,a2,...am,求从1到n的整数中至少能整除a中一个元素的数有几个?输入:n =100,m=2;a={2,3};输出:67输入:n=100,m=3;a={2,3,7}输出:72      因为这个学期学的离散,包含容斥原理印象还是挺深的,对这个也挺感兴趣,不知道有多少人在看挑战程序设计竞赛这本书,前面的费马小定理,线性同余方

2016-11-23 22:08:44 922

原创 线段相交模板

#include #include #include #include #include #include using namespace std;double EPS=1e-10;double add(double a,double b){ if (abs(a+b)<EPS*(abs(a)+abs(b))) return 0; return a

2016-11-15 21:34:36 255

原创 poj-3281【最大流】

转换成最大流求解,刚开始看最大流,留着当模板#include #include #include #include #include #include #include #include #define maxn 20#define Max 0x3f3f3f3fusing namespace std;struct node{ int to; int

2016-11-12 10:52:40 469

原创 poj-3041【二分图最小顶点覆盖】

自从看了二分图之后,感觉好多题目的解题方法真的跟以往的思维方式不一样了。。。。这可能就是抽象思维吧。这个题目的意思是在网格中有k个小行星,你的炮弹只能一次只能摧毁一行或者一列的小行星,让你用求出最小的炮弹数目来毁掉这些小行星。这个题目抽象的地方在炮弹当做顶点把小行星当做边,把发射的光束当做顶点,然后建图。。。。这样建出图之后求这个二分图的最大匹配,因为对于二分图来说,最小顶点覆盖=最大

2016-11-10 15:41:34 614

原创 poj2104[划分树问题]

这个题目的意思是给你一个区间,让你找到在某个给出的子区间当中第k大的数。这是我的第一个划分树题目,因为之前做了好多线段树的题目了,看了看书上基本的代码,然后按照自己的思路写了出来。按照这个题目的思路,得用到二分,把给出的元素x[n]排好序y[n],对于一个给出的子区间,那么第k大的元素应该满足两点:(1)在区间当中至少存在k个不超过第k大的元素(2)在区间当中小于第k大的元素不到k

2016-10-25 15:46:34 212

原创 poj-3397【线段树区间合并】

不得不说线段树的问题代码真太长。。。。。。这个问题大意刚开始给出一个区间内的数,要么是0要么是1;然后有如下操作:0 i  j:把区间i到j内的数全部变成01 i j:把区间i到j内的数全部变成12 i j:把区间i到j内的数0变成1,1变成03 i j:把区间i到j内的所有的1求出来4 i j:求出区间i到j内最大连续的1;这个问题的关键其实是操作2,因为这涉及到

2016-10-22 21:09:33 372

原创 坐标的离散化

n*m的格子上画了l条水平或者竖直的直线,求这些线将这些格子化成了多少区域。具体的数据范围看挑战程序设计竞赛这本书,这个题目的数据范围比较大,所以的话需要将坐标离散化。作用就是将区间的大小变小而且不影响数据的结果。可是这本书给的数据太坑,根本没有起到离散化的作用。。。。#include#include#include#include#include #define max

2016-10-15 21:40:41 1736

Java编程思想全面的答案

之前学习java编程思想,网上搜罗的各种习题答案好多都是不全。花费了很大力气才搞全了,,绝对是比别人全面的,,不是你打我(逃~)

2017-12-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除