- 博客(40)
- 资源 (3)
- 收藏
- 关注
原创 Java高频面试考点统计Top20(2021.09.30~2021.10.03)
Java高频考点Top20(2021.9.20-2021.10.03) 题目 频次 公司 Java线程池核心参数、工作流程、拒绝策略 29 携程,快手,美团,百度,去哪儿,交通银行,有赞,京东,阿里,小米,58同城,zoom,拼多多,vivo,字节,达达 Jvm垃圾回收算法 27 字节,携程,百度,快手,美团,去哪,有赞,京东,
2021-10-10 10:03:53
401
转载 高频考点--聚集索引和辅助索引查询原理与过程
经典问题Q:说一下聚集索引和辅助索引A:聚集索引和辅助索引都是InnoDB存储引擎索引组织表的实现形式。 聚集索引: 索引键为单一主键叶子节点存储:记录的所有列信息,包含整张表的行记录数据 相当于按照表的主键构造一棵B+树。 辅助索引: 索引键为非单一主键(除了聚集索引外,都是辅助索引)叶子节点存储:索引键值+主键值,不包含整张表的全部数据。 查询辅助索引,在叶子节点获取索引键值+主键值后...
2021-09-11 10:47:43
224
转载 Java内存模型与Jvm内存模型
经典问题Q:说一下 Java(Jvm)的内存模型A:Java内存模型是Jvm内存模型的抽象(深入理解JAVA虚拟机) JVM内存模型 线程安全--虚拟机栈、本地方法栈、程序计数器 非线程安全--方法区、堆(新生代,老年代)、 Meta Space(Jdk 1.8新增) Java内存模型 工作内存、主内存(对应JVM内存中的一部分) 追根溯源Jvm内存模型Java虚拟机运行时数据区程序计数器:一块较小的内存空间,当前
2021-09-09 17:43:26
2363
原创 Maven学习总结
Maven的两大特点:依赖管理:对Jar包的管理过程,即对Jar包的统一管理项目构建:项目进行编码完毕后,对项目进行编译、测试、打包、部署等操作都可以通过命令来实现Maven的依赖管理说明:Maven项目可以通过pom文件中的配置坐标,来找到项目需要的jar包,无需再将Jar包拷贝到lib文件中坐标的规范:公司名+项目名+版本号
2017-10-19 11:24:52
1149
转载 mysql索引设计
原地址:https://zhuanlan.zhihu.com/p/25235279转载转发请注明作者及来源1. Sql执行顺序1. FROM 子句 组装来自不同数据源的数据2. WHERE 子句 基于指定的条件对记录进行筛选3. GROUP BY 子句 将数据划分为多个分组4. 使用聚合函数进行计算5. 使用HAVING子句筛选分组6
2017-09-24 22:30:29
279
转载 浏览器 HTTP 协议缓存机制详解
原博客地址:http://www.cnblogs.com/520yang/articles/4807408.html1、缓存的分类2、浏览器缓存机制详解2.1 HTML Meta标签控制缓存2.2 HTTP头信息控制缓存2.2.1 浏览器请求流程2.2.2 几个重要概念解释3、用户行为与缓存4、Refer:最近在准备优化日志请求时遇到了一些令人疑惑的问题,比如为什么响应头里出现
2017-09-24 22:26:43
266
转载 NAT网络地址转换
原博客地址:http://www.cnblogs.com/vincently/p/4620167.htmlNAT(Network Address Translation,网络地址转换)是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。 这种方法需要
2017-09-24 22:20:48
469
转载 23种设计模式
一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。其实还有两
2017-09-24 22:13:09
233
原创 面试总结及复习内容
京东1 ngnix如何平滑启动2 linux awk的begin end作用3 分布式中限流策略4 10亿条数据的数据表,如何设计存储,能尽快找出自己想要的数据5 Token令牌加密登录的原理6. 一个mapreduce要访问一个文件,需要进行多少个map7 linux 内存管理方式LRU算法以及用java实现8 Maven包冲突的解决办法美团进程与线
2017-09-24 11:01:03
676
转载 JAVA设计模式之门面模式(外观模式)
医院的例子 现代的软件系统都是比较复杂的,设计师处理复杂系统的一个常见方法便是将其“分而治之”,把一个系统划分为几个较小的子系统。如果把医院作为一个子系统,按照部门职能,这个系统可以划分为挂号、门诊、划价、化验、收费、取药等。看病的病人要与这些部门打交道,就如同一个子系统的客户端与一个子系统的各个类打交道一样,不是一件容易的事情。 首先病人必须先挂号,然后门诊。如果医生要求化验,病人必
2016-12-23 16:42:35
251
转载 Ubuntu14.04 svn 安装 Rabbitvcs
先添加源sudo add-apt-repository ppa:rabbitvcs/ppa必要的话在源清单里面也添加一下sudo gedit /etc/apt/sources.list内容是deb http://ppa.launchpad.net/rabbitvcs/ppa/ubuntu/ raring main更新源sudo apt-get update更
2016-12-19 21:12:39
1244
原创 Ubuntu14.04 Eclipse 下安装SVN插件
第一步:下载集成 svn 至 eclipse 所需的包 site-1.6.5.zip(可以去官网 http://subclipse.tigris.org/ 下载第二步:将 site-1.6.5.zip 解压缩.作者解压缩目录:/usr/svn第三步:启动 eclipse.Help->Software Updates->Available Software->Add Site,填入 “/us
2016-12-17 16:47:15
842
转载 Ubuntu 安装maven
下载mavenhttp://maven.apache.org/download.cgi解压 tar -xzvf apache-maven-3.0.5-bin.tar.gz配置环境变量sudo vim /etc/profile添加export M2_HOME=/home/weibo/apache-maven-3.0.5export M2=$M2_HOME/b
2016-12-17 10:19:07
310
转载 Ubuntu14.04添加Navicat的快捷方式
在ubuntu中,解压navicat并不会生成快捷方式,每次运行都需要进入软件解压的目录,然后运行命令开启navicat,十分不便.今天尝试引入快捷方式,直接双击运行,感觉挺不错. 首先下载一个合适的png文件,用作快捷方式的图表,一般要求是png格式.这是我下载的图标链接,将其置于软件所在的路径下,并重命名为navicat.png. 接下来在软件所在路径下创建文件navicat.
2016-12-16 19:13:58
2386
转载 Ubuntu14.04下安装navicat
安装:1,官方下载:http://www.navicat.com/en/download/download.html2,下载后 解压tar文件tar -zxvfnavicat_mysql.tar.gz3,解压后进入解压后的目录运行./start_navicat即可成功运行成功连接后,添加内容时会有乱码问题解决办法:打开start_na
2016-12-16 18:49:00
1449
转载 Ubuntu14.04 安装tomcat
1)下载tomcat http://tomcat.apache.org/下载core下边的,tar.gz文件。tomcat 6/7都行。 2)解压 右击使用 归档管理器 打开拖出来即可。使用命令解压。 在终端上切换到tomcat 的下载目录下,再输入 tar -vzxf XXX-tomcat-XXX.tar.gz
2016-12-16 17:42:04
258
转载 Ubuntu14.04添加eclipse到桌面图标
eclipse配置桌面图标启动:sudo touch eclipse.desktop(如果想把eclipse配置在启动栏,则在/usr/share/applications/eclipse.desktop下创建)sudo vim eclipse.desktop文件内容输入:[Desktop Entry]Encoding=UTF-8Name=EclipseComm
2016-12-16 17:22:14
794
转载 Ubuntu 14.04/14.10下安装VMware Workstation 11图文教程
安装步骤如下:1用apt-get命令更新系统linuxidc@localhost:~$ sudo apt-get updatelinuxidc@localhost:~$ sudo apt-get upgrade2从官方网站下载Workstation11(Bundle Script)linuxidc@localhost:~$ wget https://download3.
2016-12-16 15:20:29
1270
原创 Ubuntu14.04安装mysql
安装前提,将系统装好后,保证联网即可sudopasswd root先设置一下root用户的密码,安装mysql时需要用到suroot切换到root用户root用户下输入apt-get installmysql-server正常的话会询问是否安装,直接点击回车,即可安装,安装过程中需要填写一个进入数据库的密码,这个要记住,不然后边没办法用
2016-12-16 14:57:26
386
转载 Ubuntu安装JDK
1.先从Oracle官网下载JDK2.创建一个目录/usr/lib/jvm以便于把下载解压后的包放到这个目录下 3.把解压后的jdk1.7.0_79文件夹放到/usr/lib/jvm目录中 3.进入到/usr/lib/jvm目录下 4.先进入vi编辑器(第一幅图),然后在底部追加以下内容(第二幅图) 注:.bashrc这个文件主要保存个人的一些个性化设置
2016-12-15 20:13:07
244
转载 Ubuntu14.04安装搜狗输入法
1.先添加以下源 sudo add-apt-repository ppa:fcitx-team/nightly 2.添加源之后需要更新一下系统 3.然后就可以开始安装fcitx了 4.接着安装fcitx的配置工具 5.然后安装fcitx的table-all软件包 6.最后安装im-switch切换工具 7.看看我们的fcitx是否安装完成
2016-12-15 19:42:15
447
转载 Spring读取properties文件出现乱码的解决方法
本文为转载文章,原地址文章为:http://blog.youkuaiyun.com/yang1982_0907/article/details/44646577在spring的applicationContext.xml文件中设置和读取properties资源文件时,如果properties文件是UTF-8编码的,并且需要读取的内容包含中文,那么采取默认的property-placeholder标签配
2016-11-29 11:35:09
2111
转载 Eclipse中properties文件乱码问题
转自:http://blog.youkuaiyun.com/uestcong/article/details/66351231. Eclipse修改设置项目中用到了配置文件,所以在Eclipse中新建.properties文件,文件中编辑了中文,在保存时Eclipse报出以下错误:解决这个问题的方法:依次选择:菜单——>Preferences——
2016-11-24 17:43:02
835
原创 ArrayList中去重方法及注意的细节
思路:创建一个新ArrayList集合,遍历旧集合,判断新集合中是否包含旧集合中的元素,有就跳过,没有就加进去。按照上边思路,分以下两种情况进行操作:1)集合中存放的为String字符串类型public static void main(String[]args) { ArrayList list=new ArrayList();list.add("hell
2016-11-24 17:40:23
1394
转载 迭代器模式
迭代器模式定义迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示。迭代器模式的角色构成(1)迭代器角色(Iterator):定义遍历元素所需要的方法,一般来说会有这么三个方法:取得下一个元素的方法next(),判断是否遍历结束的方法hasNext()),移出当前对象的方法remove(),(2)具体迭代器角色(C
2016-11-23 19:23:04
292
原创 java中的匿名类与匿名类面试题总结
1.概述:把类定义在其他类的内部,这个类就称为内部类。如:类B定义在类C中,B就是C的内部类。class C{//B为类A的内部类class B{}}2.访问特点:(1)内部类可以直接访问外部类的成员,包括私有成员;(2)外部类访问内部类成员,必须创建对象,通过对象访问。class C{//B为类A的内
2016-11-22 21:49:56
1774
转载 centos安装ngnix服务器
1 nginx安装环境nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境。n gcc安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++ n PCREPCRE(Perl Compatible Regular Expressions)是一个Perl库,
2016-10-16 18:56:00
427
原创 虚拟机中使用centos不能连接外网解决办法
不能连接外网,如果不是网络问题的话,一般可以考虑Liunx中的网卡是否开启1.使用ifconfig查看网卡是否开启,如果是以下结果,则表明网卡没有开启2.使用ifup开启网卡,如开启eth0ifup eth0 ,执行后,如果为以下结果,说明网卡开启成功,即可与外网相连,划线处为分配的Ip地址3.设置开机后,自动开启eth0网卡vi /etc/sysconfig/
2016-10-16 18:48:29
1079
转载 java生成pdf报表
一、前言 前几天,做ASN条码收货模块,需要实现打印下载收货报表,经一番查找,选定iText--用于生成PDF文档的一个Java类库。废话不多说,进入正题。 二、iText简介 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PD
2016-10-12 16:11:21
1940
原创 spring源码导入eclipse
1.下载源码:https://github.com/spring-projects/spring-framework 选择你想使用的源码版本下载..并且安装适合的jdk注意: 3.X的用jdk1.7+ 4.X以上要用JDK8 要不然无法使用2.安装Gradle软件,官网下载,解压即可,设置GRADLE_HOME,和PATH。具体步骤:1)官网下载对最新版本文件:http://w
2016-09-04 19:31:12
347
转载 java字节流与字符流的区别
字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢?实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件,如图12-6所示。下面以两个写文件的操作为主进行比较,但是在操作时字节流和字符流的操作完成之后都不关闭输出流。范例:使用字节流不关闭执行import java.io.
2016-08-13 21:00:57
286
转载 java中else if比switch效率低的原因
首先要看一个问题,if 语句适用范围比较广,只要是 boolean 表达式都可以用 if 判断;而 switch 只能对基本类型进行数值比较。两者的可比性就仅限在两个基本类型比较的范围内。说到基本类型的数值比较,那当然要有两个数。然后重点来了——if 语句每一句都是独立的,看下面的语句:if (a == 1) ...else if (a == 2) ...这样 a 要被读入寄存
2016-08-13 20:55:05
351
原创 mysql默认连接超时问题的解决方法
最近做的一个项目有时候因为长时间没有人访问,等到再访问时,控制台会总会报 MySQL server has gone away 的问题,提示系统不能连接数据库,找其原因,原来是mysql默认连接时间超时导致的,及mysql默认的 wait_timeout 时间超时,mysql默认时间为8小时,对此问题,可有两种解决办法,本篇文章只给出其中一种详细的解决办法(1)修改mysql的 wait_t
2016-08-13 20:39:36
4944
原创 单例模式(五)
单例模式(五)经过前四篇对于单例模式的讲解,我想大家会问,单例模式的优缺点是啥呢?在声明情况下使用呢?单例模式优点:1)系统中只存在一个对象,这无疑可以节约一部分系统资源,而且对于一些需要频繁创建与销毁的对象,单例模式可以大大提高其性能;2)由于只有一个对象,单例类可以严格地控制客户端对它的访问;单例模式的缺点:1)单例模式是通过一个类来实现相应功能的,没有抽象层,所以可扩
2016-08-13 11:08:07
229
原创 java中static关键字
在《Java编程思想》P86页有这样一段话: “static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正是static方法的主要用途。” 这段话虽然只是说明了static方法的特殊之处,但是可以看出static关键字的基本作用,简而言之,一句话来描述就是
2016-08-12 20:14:57
304
原创 单例模式(四)
单例模式(四)由前三篇的分析,我们该怎么实现既能达到饿汉式中不用繁琐的线程控制进而影响系统性能的方式实现单例模式,又能达到懒汉式的延迟加载的效果呢?实现该效果要用到被称为IoDH的技术。不多说,直接上代码:public class IoDHSingle { private IoDHSingle() { // TODO Auto-generated constructor st
2016-08-12 10:56:16
320
原创 单例模式(三)
单例模式(三)前一篇我们通过饿汉式单例类解决了简单单例模式在多线程访问的情况下,不能保证单例的问题,可是,由以上分析,饿汉式单例类由于在类加载时便创建对象,又带来了不少问题。那我们怎么对饿汉式进行优化呢?这只能从问题的根节点出发,那就是不在类加载时便创建对象,而是在用的时候再创建。用的时候再创建?这跟我们最典型的单例模式有什么区别呢?对,就是在它的基础上优化。最简单的单例模式出现的问题
2016-08-12 09:38:17
257
原创 单例模式(二)
单例模式(二)上一篇最后遗留的问题,我想大家应该都可以想明白,如果多线程访问的时候,必然不能保证单个实例,原因很简单,假如有100个线程同时在类没有创建对象的时候通过了if条件语句的判断,那么这100个线程就会执行100次new对象,及创建了100个对象,这不仅违反了单例原则,而且在使用程序时,也会出现相应问题。那如何解决这个问题呢?解决问题的方法只能从问题的本身下手。我们知道,java中
2016-08-11 10:19:00
288
原创 设计模式-单例模式(一)
单例模式(一)特别声明:由于本人也为初学者,如果一下讲解的有问题,望大家可以批评指正,欢迎一起来讨论。定义:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,它提供全局访问的方法。由定义可以看出,单例模式必须要满足如下几点:(1)系统中一个类只能有一个实例;(2)自行实例化;(3)提供全局访问的方法。既然单例模式符合上边三种规则,那在实现这三种规则时
2016-08-10 23:24:27
387
转载 Java中stringBuilder用法
String对象是不可改变的。每次使用 System.String类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的 String对象相关的系统开销可能会非常昂贵。如果要修改字符串而不创建新的对象,则可以使用System.Text.StringBuilder类。例如,当在一个循环中将许多字符串连接在一起时,使用 St
2016-08-05 09:59:10
351
shiro1.2.2开发包
2016-08-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人