打妖怪
西天取经,十万八千里
这个作者很懒,什么都没留下…
展开
-
用信鸽来解释 HTTPS
密码学是一门难以理解的学科,因为它充满了数学定理。但是除非你要实际开发出一套加密算法系统,否则你是没必要强制理解那些深奥的数学定理的。 如果你阅读本文的目的是想设计下一套 HTTPS 协议,那我只能抱歉的说本文的知识还远远不够;如果不是的话,那么就煮杯咖啡,轻松愉悦的阅读本文吧。 爱丽丝、鲍伯和 ... 信鸽? 你在互联网上从事的任何活动(阅读这篇文章、在亚马逊上购物、上传图片等)归结...原创 2019-02-14 17:34:14 · 98 阅读 · 0 评论 -
一次完整的HTTP请求与响应涉及哪些知识?
本文以HTTP请求和响应的过程来讲解涉及到的相关知识点。 第一 HTTP请求和相应步骤 图片来自:理解Http请求与响应http://android.jobbole.com/85218/ 以上完整表示了HTTP请求和响应的7个步骤,下面从TCP/IP协议模型的角度来理解HTTP请求和响应如何传递的。 第二 TCP/IP协议 TCP/IP协议模型(Tr...转载 2019-03-12 17:09:05 · 126 阅读 · 0 评论 -
集合
Java的集合框架中可以分为两大类:第一类是按照单个元素存储的 Collection 集合,其中 Set, List, Queue 都实现了 Collection 接口。第二类是按照Key-Value存储的 Map 集合。 List List常量的两个子类分别是 ArrayList 和 LinkedList 这两个集合。 (1)、ArrayList 的特点。 A. ArrayLis...原创 2019-03-08 11:51:35 · 129 阅读 · 0 评论 -
mybatis工作原理
我将其工作原理分为六个部分: 读取核心配置文件并返回InputStream流对象。 根据InputStream流对象解析出Configuration对象,然后创建SqlSessionFactory工厂对象 根据一系列属性从SqlSessionFactory工厂中创建SqlSession 从SqlSession中调用Executor执行数据库操作&&...原创 2019-03-20 09:16:37 · 167 阅读 · 0 评论 -
Java 常见面试题及答案(上)
多线程、并发及线程的基础问题 1)Java 中能创建 volatile 数组吗? 能,Java 中可以创建 volatile 类型数组,不过只是一个指向数组的引用,而不是整个数组。我的意思是,如果改变引用指向的数组,将会受到 volatile 的保护,但是如果多个线程同时改变数组的元素,volatile 标示符就不能起到之前的保护作用了。 2)volatile 能使得一个非原子操作变成...原创 2019-03-19 15:40:24 · 154 阅读 · 0 评论 -
SSM
一、Spring面试题 1、Spring 在ssm中起什么作用? Spring:轻量级框架 作用:Bean工厂,用来管理Bean的生命周期和框架集成。 两大核心: IOC/DI(控制反转/依赖注入) :把dao依赖注入到service层,service层反转给action层,Spring顶层容器为BeanFactory AOP:面向切面编程 2、S...原创 2019-03-07 09:59:26 · 309 阅读 · 1 评论 -
Java岗 面试考点精讲(基础篇02期)
1. 两个对象的hashCode相同,则equals也一定为true,对吗? 不对,答案见下面的代码: @Override publicinthashCode(){ return1; } 两个对象equals为true,则hashCode也一定相同,对吗? 这块肯定是有争议的。面试的时候这样答:如果按照官方设计要求来打代码的话,hashcode一定相等。但是如果不按官方...翻译 2019-03-06 10:48:44 · 123 阅读 · 0 评论 -
什么是java的多态
多态分为两种 a. 编译时多态:方法的重载; b. 运行时多态:JAVA运行时系统根据调用该方法的实例的类型来决定选择调用哪个方法则被称为运行时多态。(我们平时说得多的事运行时多态,所以多态主要也是指运行时多态); 上述描述认为重载也是多态的一种表现,不过多态主要指运行时多态。 2.运行时多态 a. 面向对象的三大特性:封装、继承、多态。从一定角度来看,封装和继承几乎都是为多态而准备的。...转载 2019-02-26 16:49:01 · 1078 阅读 · 0 评论 -
JVM 工作原理和流程
一.JVM由运行时数据区+两种机制组成+本地方法接口 JVM 将内存区域划分为: Heap(堆):存放所有new出来的对象(程序调优) Method Area(Non-Heap)(方法区):存放静态变量+常量+类信息(构造方法/接口定义)+运行时常量词 Native Method Stack(本地方法栈):native(可以和操作系统直接交互的语言,即可以引用c,c++等实现的方法...原创 2019-02-20 19:06:32 · 260 阅读 · 0 评论 -
Java岗 面试考点精讲(基础篇01期)
即将到来金三银四人才招聘的高峰期,渴望跳槽的朋友肯定跟我一样四处找以往的面试题,但又感觉找的又不完整,在这里我将把我所见到的题目做一总结,并尽力将答案术语化、标准化。预祝大家面试顺利。 另:如果觉得本文有用,欢迎点好看或者分享出去! 术语会让你的面试更有说服力,让你感觉更踏实,建议大家多记背点术语。 1. 简单说下什么是跨平台 术语:操作系统指令集、屏蔽系统之间的差异 ...原创 2019-03-01 15:30:13 · 239 阅读 · 0 评论 -
TCP协议三次握手与四次挥手
TCP报文格式 TCP/IP协议的详细信息参看《TCP/IP协议详解》三卷本。下面是TCP报文格式图: 上图中有几个字段需要重点介绍下: 序号: Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。 确认序号:Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1。 标志位:共6个,即URG、ACK、PSH、RST、SY...转载 2019-02-19 10:14:53 · 86 阅读 · 0 评论 -
试题-二(mysql)
题目1 什么是数据库事务? 答案:单个逻辑单元执行的一系列操作,这些操作要么全做要么全不做,是不可分割的.事务的开始和结束用户是可以控制的,如果没控制则由数据库默认的划分事务.事务具有以下性质: (1)原子性 指一个事务要么全执行,要么全不执行.也就是说一个事务不可能执行到一半就停止了.比如:你去买东西,钱付掉了,东西没拿.这两步必须同时执行 ,要么都不执行. (2)一...转载 2019-02-27 18:28:27 · 174 阅读 · 0 评论 -
mysql优化的常用方法
Mysql的优化,大体可以分为三部分:索引的优化,sql语句的优化,表的优化 1.索引的优化 只要列中含有NULL值,就最好不要在此例设置索引,复合索引如果有NULL值,此列在使用时也不会使用索引 尽量使用短索引,如果可以,应该制定一个前缀长度 对于经常在where子句使用的列,最好设置索引,这样会加快查找速度 对于有多个列where或者order by子句的,应该建立复合索引 ...转载 2019-02-27 17:40:32 · 101 阅读 · 0 评论 -
试题
1. Java 篇 (1). Java基础知识 java中==和equals和hashCode的区别 其实他们区别不大,一个是另一个的重写,因为==比不了字符串,所以重写了方法而已 对于==:如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否 相等; 如果作用于引用类型的变量,则比较的是所指向的对象的地址 对于equals方法:注意:equals方法不能作用于基...转载 2019-02-27 17:23:58 · 145 阅读 · 0 评论 -
JVM ----之元空间与永久代
一、背景 1.1 永久代(PermGen)在哪里? 根据,hotspot jvm结构如下(虚拟机栈和本地方法栈合一起了): 上图引自网络,但有个问题:方法区和heap堆都是线程共享的内存区域。 关于方法区和永久代: 在HotSpot JVM中,这次讨论的永久代,就是上图的方法区(JVM规范中称为方法区)。《Java虚拟机规范》只是规定了有方法区这么个概念和它的作用,并没有规定如何去实...转载 2019-02-22 09:57:39 · 209 阅读 · 0 评论 -
15个经典的Spring面试常见问题
什么是 Spring 框架? Spring 是一种轻量级开发框架,旨在提高开发人员的开发效率以及系统的可维护性。Spring 官网:https://spring.io/。 我们一般说 Spring 框架指的都是 Spring Framework,它是很多模块的集合,使用这些模块可以很方便地协助我们进行开发。这些模块是:核心容器、数据访问/集成,、Web、AOP(面向切面编程)、工具、消息和测试...原创 2019-06-11 11:44:29 · 124 阅读 · 0 评论