- 博客(36)
- 资源 (32)
- 收藏
- 关注
原创 2021-05-03
面试准备1.Netty2.Spring3.Hibernate4.Mysql5.MyBatis6.SpringBoot7.SpringCloud8.JWT9.Redis10.SpringSecurity11.Encache12.ElasticSearch13.RabbitMq14.Docker15.Shiro16.熟悉常用的Java API,包括集合框架、多线程(并发编程)、I/O(NIO)、Socket、JDBC、XML、反射等; 熟悉基
2021-05-11 11:53:18
239
1
原创 打不死的小强(找实习面试篇)
理工男不善长写文章,看到别人分享自传,觉得有趣。自己也分享一下自己的渣渣经历。为了避免过于臃肿,本篇仅分享关于找实习面试的经历。首先申明,本人只是一个渣渣程序员,并不是什么大神,大神请忽略本篇。说起面试,不得不从大三下学期说起。当时已进入大三第二学期,班里已有同学陆陆续续开始投简历,开始找实习,辅导员也开始发招聘信息,我自己反而是一头雾水,啥都没开始。直到后面看到某些同学已经找到实习了,我自己才鼓起勇气写自己的简历。然而,发现简历没什么内容可写,要项目经历,没经历,要技能,没技能,英语六级也没过。然
2020-08-16 15:06:14
447
原创 从底层原理分析Nginx为什么这么快
Nginx 的进程模型Nginx 服务器,正常运行过程中:多进程:一个 Master 进程、多个 Worker 进程 Master 进程:管理 Worker 进程 对外接口:接收外部的操作(信号) 对内转发:根据外部的操作的不同,通过信号管理 Worker 监控:监控 worker 进程的运行状态,worker 进程异常终止后,自动重启 worker 进程 Worker 进程:所有 Worker 进程都是平等的 实际处理:网络请求,由 Worker 进程处理; Worker .
2020-08-04 21:22:47
355
转载 netty 心跳包和断线重连机制
为什么需要心跳包???心跳包主要是用来做TCP长连接保活的。有时 socket 虽然是连接的但中间网络可能有问题,这时你还在不停的往外发送数据,但对方是收不到的,你不知道对方是不是还活着,不知道 socket 通道是不是还是联通的。 心跳包就是你发送一些试探包给对方,对方回应,如果一定时间内比如30秒内没有收到任何数据,说明对方或网络可能有问题了。这时你主动断开 socket 连接,避免浪费资...
2019-07-17 23:32:55
834
转载 Windows下搭建Redis集群
Redis集群: 如果部署到多台电脑,就跟普通的集群一样;因为Redis是单线程处理的,多核CPU也只能使用一个核,所以部署在同一台电脑上,通过运行多个Redis实例组成集群,然后能提高CPU的利用率。在Windows系统下搭建Redis集群: 需要4个部件: Redis、Ruby语言运行环境、Redis的Ruby驱动redis-xxxx.gem、创建Redis集群...
2019-04-27 20:51:05
149
原创 垃圾收集器
以上是 HotSpot 虚拟机中的 7 个垃圾收集器,连线表示垃圾收集器可以配合使用。1. Serial 收集器Serial 翻译为串行,垃圾收集和用户程序不能同时执行,这意味着在执行垃圾收集的时候需要停顿用户程序。除了 CMS 和 G1 之外,其它收集器都是以串行的方式执行。CMS 和 G1 可以使得垃圾收集和用户程序同时执行,被称为并发执行。它是单线程的收集器,只会使用一个...
2018-11-19 15:28:27
137
原创 2018.9.12迅雷笔试编程题
求小于等于N的素勾股数(三个数两两互质),例如:n=10,只有(3,4,5);n=13,有(3,4,5)和(5,12,13)/** 若a²+b²=c²,则a=m²-n²b=2mnc=m²+n²取n得开平方数mid,i从1遍历到mid,j从i+1取n的开平方数mid,i从1遍历到mid,j从i + 1遍历到mid,计算所有的a = j²-i²,b = 2ij,c = i² + j²...
2018-09-13 16:36:59
297
转载 mysql的索引方法btree和hash的区别
Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。可能很多人又有疑问了,既然 Hash 索引的效率要比 B-Tree 高很多,为什么大家不都用 Hash 索引而还要使用 B-Tree 索引呢?任何事物都是有两面性的,Hash 索引也...
2018-08-26 15:40:55
563
原创 过滤器(Interceptor)和拦截器(Filter)的区别:
1.拦截器是基于java的反射机制的,而过滤器是基于函数回调。2.拦截器不依赖于servlet容器,过滤器依赖与servlet容器。3.拦截器只能对action请求起作用,而过滤器则可以对所有请求起作用。4.拦截器可以访问action上下文,值栈里的对象,而过滤器不能访问。5.在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次。6.拦截器可以...
2018-08-26 08:16:51
193
转载 git将代码上传到分支
分支 分支,简单地讲就是一个项目的不同分支存放不同的代码,这样的话一个项目就有了几分代码,但是最终的代码一般放在主分支里面,即master分支里,分支在实际中可以方便的隔离开发。 假设你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。 创建一个分支 ...
2018-08-03 17:37:58
13946
原创 git 常用命令
命令进入某盘/某文件夹(cd X)显示当前目录 (pwd)将目标目录变为git可管理创库 (git init)添加文件到暂存区 (git add XXX)将文件提交到仓库,双引号中为注释 (git commit -m "XXX")查看仓库状态,看是否还有文件未提交 (git status)查看XXX文件里更改的内容 (git diff XXX)查看历史记录 (gi...
2018-08-03 17:35:20
157
原创 mysql启动不了,而且任务管理器找不到mysql,报10061错误
问题原因:mysql服务没有安装。解决办法: 在 mysql bin目录下 以管理员的权限 执行 mysqld -install命令然后仍然以管理员的权限 net start mysql 开启Mysql服务了 附卸载mysql服务的方法。1、以管理员的权限 net stop mysql ,关闭mysql服务2、以管理员的权限 mysqld -remove ,卸载m...
2018-06-09 23:41:46
4358
1
原创 JDK新特征
1.JDK5新特性(自己实现枚举类)* A:枚举概述* 是指将变量的值一一列出来,变量的值只限于列举出来的值的范围内。举例:一周只有7天,一年只有12个月等。* B:回想单例设计模式:单例类是一个类只有一个实例* 那么多例类就是一个类有多个实例,但不是无限个数的实例,而是有限个数的实例。这才能是枚举类。* C:案例演示* 自己实现枚举类1,自动拆装箱2,泛型3,可变参数4,静...
2018-06-03 11:05:24
179
原创 反射
1.类的加载概述和加载时机* A:类的加载概述* 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化。* 加载 * 就是指将class文件读入内存,并为之创建一个Class对象。任何类被使用时系统都会建立一个Class对象。* 连接* 验证 是否有正确的内部结构,并和其他类协调一致* 准备 负责为类的静态成员分配内存,并设置...
2018-06-03 10:58:28
177
原创 网络编程
1.网络编程概述* A:计算机网络* 是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。* B:网络编程* 就是用来实现网络互连的不同计算机上运行的程序间可以进行数据交换。2.网络编程三要素之IP概述* 每个设备在网络中的唯一标识* 每台网络终端在网络中...
2018-06-03 10:35:45
154
原创 多线程
1.Runtime类* Runtime类是一个单例类Runtime r=Runtime.getRuntime();//r.exec("shutdown -s -t 300");//300秒后关机r.exec("shutdown -a"); //取消关机2.Timer* Timer类:计时器public class Demo5_Timer{ public static...
2018-06-03 01:23:42
921
原创 设计模式
1.装饰设计模式interface Coder{ public void code();}class Student implements Coder{ @Override public void code(){ System.out.println("javase"); System.out.println("javaweb"); }}class ...
2018-06-03 00:31:12
120
原创 线程
1.多线程的引入* 1.什么是线程* 线程是程序执行的一条路径, 一个进程中可以包含多条线程* 多线程并发执行可以提高程序的效率, 可以同时完成多项工作* 2.多线程的应用场景* 红蜘蛛同时共享屏幕给多个电脑* 迅雷开启多条线程一起下载* QQ同时和多个人一起视频* 服务器同时处理多个客户端请求2.多线程并行和并发的区别* 并行就是两个任务同时运行,就是甲任务进行的...
2018-06-02 17:02:25
140
原创 IO流
1.序列流* 1.什么是序列流* 序列流可以把多个字节输入流整合成一个, 从序列流中读取数据时, 将从被整合的第一个流开始读, 读完一个之后继续读第二个, 以此类推.* 2.使用方式* 整合两个: SequenceInputStream(InputStream, InputStream)FileInputStream fis1=new FileInputStream("a.t...
2018-06-02 15:33:42
115
原创 字符流Reader/Writer
1.字符流FileReader* 1.字符流是什么* 字符流是可以直接读写字符的IO流* 字符流读取字符, 就要先读取到字节数据, 然后转为字符. 如果要写出字符, 需要把字符转为字节再写出. * 2.FileReader* FileReader类的read()方法可以按照字符大小读取FilReader fr=new FileReader("aaa.txt");//创建输...
2018-06-02 12:57:53
332
原创 IO
1.IO流概述及其分类* 1.概念* IO流用来处理设备之间的数据传输* Java对数据的操作是通过流的方式* Java用于操作流的类都在IO包中* 流按流向分为两种:输入流,输出流。* 流按操作类型分为两种:* 字节流 : 字节流可以操作任何数据,因为在计算机中任何数据都是以字节的形式存储的* 字符流 : 字符流只能操作纯字符数据,比较方便。* 2.IO流常用父类* 字节流...
2018-06-02 11:13:27
210
原创 File
1.File类的概述和构造方法* A:File类的概述* File更应该叫做一个路径* 文件路径或者文件夹路径 * 路径分为绝对路径和相对路径* 绝对路径是一个固定的路径,从盘符开始* 相对路径相对于某个位置,在eclipse下是指当前项目下,在dos下* 查看API指的是当前路径* 文件和目录路径名的抽象表示形式* B:构造方法* File(String pathname...
2018-05-29 15:12:45
215
原创 Java面试题--dalao总结版
1.UUID:当前日期和时间+时钟序列+全局唯一的IEEE机器识别号(如果有网卡,从网卡MAC地址获取)import java.util.UUID;UUID.randUUID().toString().replace("_","");2.栈与堆(1)栈时运行时的单位,而堆时存储的单元。(2)栈中存什么?堆中存什么?栈中存的是基本数据类型和堆中对象的引用。堆中存的是对象。...
2018-05-28 11:47:55
601
原创 集合(4)-Map
1.Map集合概述和特点* A:Map接口概述* 查看API可以知道:* 将键映射到值的对象* 一个映射不能包含重复的键* 每个键最多只能映射到一个值* B:Map接口和Collection接口的不同* Map是双列的,Collection是单列的* Map的键唯一,Collection的子体系Set是唯一的* Map集合的数据结构值针对键有效,跟值无关;Collection...
2018-05-28 11:06:03
171
原创 集合(3)-Set
1.HashSet存储字符串并遍历* A:Set集合概述及特点* 通过API查看即可* B:案例演示* HashSet存储字符串并遍历HashSet<String> hs=new HashSet<>();boolean b1=hs.add("a");//当存储不成功的时候,返回falseboolean b2=hs.add("b");System.ou...
2018-05-28 10:12:18
312
原创 集合(2)
1.去除ArrayList中重复字符串元素方式* A:案例演示* 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同)* 思路:创建新集合方式@SuppressWarnings({ "rawtypes", "unchecked" })public class Demo1_ArrayList { /** * * A:案例演示 * 需求:ArrayList...
2018-05-27 16:47:27
150
原创 集合(1)--Collection,List
1.集合的由来及集合继承体系* A:集合的由来* 数组长度是固定,当添加的元素超过了数组的长度时需要对数组重新定义,太麻烦,java内部给我们提供了集合类,能存储任意对象,长度是可以改变的,随着元素的增加而增加,随着元素的减少而减少 * B:数组和集合的区别* 区别1 : * 数组既可以存储基本数据类型,又可以存储引用数据类型,基本数据类型存储的是值,引用数据类型存储的是地址值* 集...
2018-05-27 15:51:35
241
原创 Java网络编程面试题
1.网络编程时的同步,异步,阻塞,非阻塞同步:函数调用在没得到结果之前,没有调用结果,不返回任何结果。异步:函数调用在没得到结果之前,没有调用结果,返回状态信息。阻塞:函数调用在没得到结果之前,当前线程挂起,得到结果后才返回。非阻塞:函数调用在没得到结果之前,当前线程不会挂起,立即返回结果。2.java如何实现无阻塞方式的Socket编程?NIO有效解决了多线程服务器存在的...
2018-05-26 17:27:59
499
原创 Java线程面试题
1).什么是线程?线程是操作系统能够进行调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。2).线程和进程有什么区别?线程是进程的子集,一个进程可以有很多线程,每条线程并行执行不同的任务。不同进程使用不同的内存空间,而所有的线程共享一片相同的内存空间。每个线程都有单独的栈内存用来存储本地数据。3).如何在java中实现线程?(1)继承java.lang.Thread...
2018-05-26 16:16:06
138
原创 Java集合类相关面试题
1.Collection和Collections的区别(1)java.util.Collection是一个集合接口,Collection接口在Java类库中有非常多详细的实现。如:List,Set(2)java.util.Collections是针对集合类的一个帮助类,它提供了一系列的静态方法实现对各种集合的搜索,排序,线程安全化等操作。2.ArrayList与Vector的差别这...
2018-05-26 11:00:15
1044
原创 Java集合面试题
Java集合框架是什么?说出一些集合框架的优点?每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。在保证线程安全的情况下使用泛型和并发集合类,Java已经经历了很久。它还包括在Java并发包中,阻塞接口以及它们的实现。集合框架的部分优点如下:...
2018-05-25 20:24:06
161
原创 AJAX面试题
1.AJAX有哪些优点和缺点?一.优点:(1)最大的一点是页面无需刷新,用户的体验非常好。(2)使用异步方式与服务器通信,具有更加迅速的响应能力。(3)可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和宽带的负担,节约空间和宽带租用成本。并且减轻服务器的负担,ajax的原则是“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器造成的负担。...
2018-05-25 20:11:42
319
原创 javaweb面试题
1.Servlet的生命周期Servlet有良好的生存期的定义,包括加载和实例化,初始化,处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口的init(),service()和destroy方法表达.Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动排遣运行与请求对应的doXXX方法(doGet,...
2018-05-25 19:35:16
256
原创 mysql面试题
1.主键 超键 候选键 外键主键一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(Null)。超键在关系能唯一标识元组的属性集称为关系模式的超键。一个属性可以最为一个超键,多个属性组合在一起也可以作为一个超键。超级包含候选键和主键。候选键是最小超键,即没有冗余元素的超键。外键在一个表中存在另一个表的主键成为此表的外键。2.数据库事务的四个特征...
2018-05-25 11:46:56
226
原创 SSH整合应用:登录
步骤: ……<listener><listener-class>org.springframework.web.context.Context-LoaderListener</listener-class></listener><...
2018-05-25 01:01:11
212
原创 使用git将项目上传到github(最简单方法)
首先你需要一个github账号,所有还没有的话先去注册吧!https://github.com/我们使用git需要先安装git工具,这里给出下载地址,下载后一路直接安装即可:https://git-for-windows.github.io/ 1.进入Github首页,点击New repository新建一个项目2.填写相应信息后点击create即可 Repo...
2018-05-24 01:13:46
660
使用Java后台,Socket方法实现android群聊(android服务端+java后台)
2018-06-19
实战突击:Java Web项目整合开发 PDF 扫描版
2018-05-31
MyEclipse2017CI7破解文件
2017-10-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人