自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 我的免费知识星球

欢迎大家访问 里面分享java基础知识 架构 并发面试经验https://articles.zsxq.com/id_9puu0adfc5kh.html

2019-03-11 11:09:36 923

原创 2019 年互联网秋招面试经验分享_阿里巴巴

2018年互联网秋招面试经验分享自己总结归纳各大公司java面试要点以及悉心梳理相应博客阿里巴巴一面分库分表数据库中间件MyCAT是一个强大的数据库中间件,不仅仅可以用作读写分离,以及分表分库、容灾管理,而且可以用于多租户应用开发、云平台基础设施高并发请求处理高流量限流多线程concurrentHashMapCAS乐观锁mysql limit分页如何保证可靠性http...

2019-03-11 11:05:32 326

原创 Java开发手册精选-MySQL数据库

一 小数类型为decimal,禁止使用float和double二 主键索引名为pk_字段名;唯一索引名为uk_字段名;普通索引名为idx_字段名三 超过三个表禁止join。需要join的字段,数据类型必须绝对一致;多表关联查询时,保证被关联的字段需要索引;四 在varchar字段上建立索引时,必须指定索引长度,没必要对全字段建立索引,根据实际文本区分度决定索引长度即可。五 不要使用cou...

2019-03-07 18:17:14 208

原创 Java开发手册精选-异常处理

异常处理一 有try块放到了事务代码中,catch异常后,如果需要回滚事务,一定要注意手动回滚事务。二 不要在finally块中使用return说明 finally块中的return返回后方法结束执行,不会再执行try块中的return语句三 防止NPE,是程序员的基本修养,注意NPE产生的场景:说明返回类型为基本数据类型,return 包装数据类型的对象时,自动拆箱有可能产生NPE...

2019-03-07 12:22:28 210

原创 Java开发手册精选-并发处理

一 线程资源必须通过线程池提供,不允许在应用中自行显式创建线程。说明: 使用线程池的好处是减少在创建和销毁线程上所花的时间以及系统开销,解决资源不足的问题。二 线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式,这样的处理方式更加明确线程池的运行规则,规避资源耗尽的风险。说明:Executors返回的线程池对象的弊端如下:FixedThread...

2019-03-06 17:31:46 176

原创 Java开发手册精选-集合处理

一 接口类中的方法和属性不要加任何修饰符号(public 也不要加) 正例:void f ();二 方法参数在定义和传入时,多个参数逗号后面必须加空格 method("a", "b", "c");三 所有的重写方法,必须加@Override注解四 所有相同类型的包装类对象之间值得比较,全部使用equals方法比

2019-03-06 11:49:59 292

原创 OAuth

OAuth术语客户应用资源服务器授权服务器资源拥有者客户凭证令牌作用域小结功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导...

2019-02-25 19:36:47 85

原创 @Controller、@RestController、@RequestMapping注解

 @Controller:修饰class,用来创建处理http请求的对象 @RestController:Spring4之后加入的注解,原来在@Controller中返回json需要@ResponseBody来配合,如果直接用@RestController替代@Controller就不需要再配置@ResponseBody,默认返回json格式。 @RequestMapping:配置url映...

2019-01-04 18:36:30 815

原创 @RequestMapping @ResponseBody 和 @RequestBody 注解的用法与区别

@RequestMapping 是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径;用于方法上,表示在类的父路径下追加方法上注解中的地址将会访问到该方法。@Controller//设置想要跳转的父路径@RequestMapping(value = "/users")public class UserCOntroller{ ...

2019-01-04 18:31:55 172

原创 java复习大纲

0.java的IO内容(java编程思想)1.java的集合框架(java编程思想)2.java的多线程机制(java编程思想)3.tcp/ip协议,特别的其中的http协议这一块(计算机网络,http权威指南)4.hibernate(JPA Spring +DATA)(精通HIbernat)5.spring (基本讲代码的书)6.spring mvc(跟开涛学MVC)7.mybat...

2018-09-28 10:08:07 667

原创 2018java后台各大公司面试笔记

阿里分库分表 数据库中间件 MyCAT是一个强大的数据库中间件,不仅仅可以用作读写分离,以及分表分库、容灾管理,而且可以用于多租户应用开发、云平台基础设施 高并发请求处理 高流量限流 多线程 concurrentHashMap CAS 乐观锁 mysql limit分页如何保证可靠性 二面 7月26日(22分钟): http是否需要多次建立tcp连接?      h...

2018-09-28 09:33:29 2182

转载 Volatile适用场景

把代码块声明为 synchronized,有两个重要后果,通常是指该代码具有 原子性(atomicity)和 可见性(visibility)。原子性意味着个时刻,只有一个线程能够执行一段代码,这段代码通过一个monitor object保护。从而防止多个线程在更新共享状态时相互冲突。可见性则更为微妙,它必须确保释放锁之前对共享数据做出的更改对于随后获得该锁的另一个线程是可见的。 —— 如果没有同步...

2018-06-23 20:39:02 174

转载 JVM主内存与工作内存

jvm主内存与工作内存    首先,JVM将内存组织为主内存和工作内存两个部分。    主内存主要包括本地方法区和堆。每个线程都有一个工作内存,工作内存中主要包括两个部分,一个是属于该线程私有的栈和对主存部分变量拷贝的寄存器(包括程序计数器PC和cup工作的高速缓存区)。  1.所有的变量都存储在主内存中(虚拟机内存的一部分),对于所有线程都是共享的。2.每条线程都有自己的工作内存,工作内存中保存...

2018-06-21 17:23:17 1118

原创 fail-fast与fail-safe详解

快速失败(fail—fast)     在用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了修改(增加、删除、修改),则会抛出Concurrent Modification Exception。       原理:迭代器在遍历时直接访问集合中的内容,并且在遍历过程中使用一个 modCount 变量。集合在被遍历期间如果内容发生变化,就会改变modCount的值。每当迭...

2018-06-18 10:28:34 401

原创 序列化版本号serialVersionUID的作用

Java序列化是将一个对象编码成一个字节流,反序列化将字节流编码转换成一个对象。序列化是Java中实现持久化存储的一种方法;为数据传输提供了线路级对象表示法。 Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相...

2018-06-17 15:22:00 5827

转载 Git和Github

 1. 了解Git和Github1.1什么是GitGit是一个免费、开源的版本控制软件1.2什么是版本控制系统版本控制是一种记录一个或若干个文件内容变化,以便将来查阅特定版本修订情况得系统。 Ø  系统具体功能记录文件的所有历史变化随时可恢复到任何一个历史状态多人协作开发或修改错误恢复 1.3什么是GithubGithub是全球最大的社交编程及代码托管网站(https://github.com/)...

2018-06-09 22:09:48 208

转载 张孝祥Java多线程与并发库高级应用

传统线程技术回顾线程就是程序的一条执行线索创建线程的两种传统方式1. 在Thread子类覆盖的run方法中编写运行代码希望代码长期运行下去就编写在一个循环里面涉及一个以往知识点:能否在run方法声明上抛出InterruptedException异常,以便省略run方法内部对Thread.sleep()语句的try…catch处理?不行,子类不能抛出比父类更多的异常2. 在传递给Thread对象的R...

2018-05-28 10:02:16 1269 1

转载 Java单例模式--饿汉式、懒汉式

Java单例模式--饿汉式、懒汉式什么是单例模式单例模式是保证在整个应用程序的生命周期中,在任何时刻,被指定的类只有一个实例。 实现单例模式的思路 1外界不能造对象  --把无参构造方法私有 2类本身要造一个  --调用构造方法即可 3通过公共的方式对外提供       --通过public修饰       --又由于无参构造私有,所以要用static修饰符       --为了保证静态方法只能访...

2018-05-24 22:18:55 195

转载 TCP的三次握手与四次挥手(详解+动图)

TCP的三次握手与四次挥手(详解+动图)背景描述通过上一篇中网络模型中的IP层的介绍,我们知道网络层,可以实现两个主机之间的通信。但是这并不具体,因为,真正进行通信的实体是在主机中的进程,是一个主机中的一个进程与另外一个主机中的一个进程在交换数据。IP协议虽然能把数据报文送到目的主机,但是并没有交付给主机的具体应用进程。而端到端的通信才应该是应用进程之间的通信。UDP,在传送数据前不需要先建立连接...

2018-05-22 20:13:49 116

转载 TCP/IP详解--TCP三次握手建立连接与四次握手终止连接

TCP/IP详解--TCP三次握手建立连接与四次握手终止连接1.TCP连接的建立(1)首先是服务器初始化的过程,从CLOSED(关闭)状态开始通过顺序调用SOCKET、BIND、LISTEN和ACCEPT原语创建Socket套接字,进入LISTEN(监听)状态,等待客户端的TCP传输连接请求。     (2)客户端最开始也是从CLOSED状态开始调用SOCKET原语创建新的Socket套接字,然后...

2018-05-22 19:34:44 290

转载 Linux—shell中$(( ))、$( )、``与${ }的区别

Linux—shell中$(( ))、$( )、``与${ }的区别命令替换在bash中,$( )与` `(反引号)都是用来作命令替换的。命令替换与变量替换差不多,都是用来重组命令行的,先完成引号里的命令行,然后将其结果替换出来,再重组成新的命令行。exp 1$ echo today is $(date "+%Y-%m-%d")today is 2014-07-01$( )与``在操作上,这...

2018-05-19 22:37:28 961

转载 鸟哥的linux私房菜中推荐的linux学习网站

1.计算机基础:http://www.study-area.org/compu/compu.htm2.网络基础:http://www.study-area.org/network/network.htm3.Linux学习总结网站:   (1)Study-area:http://www.study-area.org     (2)鸟哥的私房菜馆:http://linux.vbird.org    (...

2018-05-10 08:58:23 1552

转载 Math类和Random类生成的随机数

一、Math类的random()方法Math类的random()方法可以生成大于等于0.0、小于1.0的double型随机数。Math.random()方法语句基础上处理可获得多种类型、或任意范围的随机数。公式:[java] view plain copyint num=(int)(Math.random()*n);         //返回大于等于0小于n之间的随机数  int num0=m+(...

2018-05-05 22:54:29 2089

转载 HashTable和HashMap的区别详解

2016年06月04日 19:35:53阅读数:69636一、HashMap简介      HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。      HashMap是非线程安全的,只是用于单线程环境下,多线程环境下可以采用concurrent并发包下的concurrentHashMap。      H...

2018-05-05 22:49:46 111

转载 Java异常详解

一、Java异常概述 在Java中,所有的事件都能由类描述,Java中的异常就是由java.lang包下的异常类描述的。1、Throwable(可抛出):异常类的最终父类,它有两个子类,Error与Exception。 Throwable中常用方法有: getCause():返回抛出异常的原因。如果 cause 不存在或未知,则返回 null。 getMeage():返回异常的消息信息。 prin...

2018-04-19 15:47:20 224

原创 java bos项目详细介绍一

BOS项目 第1天 项目12天安排:1-2天:项目概述、搭建开发环境、主页设计、持久层和表现层设计3-6天:项目业务开发(取派员、区域、分区、定区、业务受理)---整个项目分为基础设置、取派、中转、路由、报表7-8天:权限控制、权限管理----apache shiro9-11天:工作流开发----activiti12天:总结 今天内容安排:1、项目概述(背景、常见软件类型、软件开发流程(瀑布模型)...

2018-04-12 09:55:29 1303 1

转载 进程间的通信方式——pipe(管道)

1.进程间通信 每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程A把数据从用户空间拷到内核缓冲区,进程B再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信。12不同进程间的通信本质:进程之间可以看到一份公共资源;而提供这份资源的形式或者提供者不同,造成了通信方式不同,而 pipe就是提供这...

2018-03-25 11:23:17 295

转载 Java字符串池(String Pool)深度解析

在工作中,String类是我们使用频率非常高的一种对象类型。JVM为了提升性能和减少内存开销,避免字符串的重复创建,其维护了一块特殊的内存空间,这就是我们今天要讨论的核心,即字符串池(String Pool)。字符串池由String类私有的维护。      我们知道,在Java中有两种创建字符串对象的方式:1)采用字面值的方式赋值  2)采用new关键字新建一个字符串对象。这两种方式在性能和内存占...

2018-03-24 22:53:23 874 1

转载 Java中字符串内存位置浅析

前言之前写过一篇关于JVM内存区域划分的文章,但是昨天接到蚂蚁金服的面试,问到JVM相关的内容,解释一下JVM的内存区域划分,这部分答得还不错,但是后来又问了Java里面String存放的位置,之前只记得String是一个不变的量,应该是要存放在常量池里面的,但是后来问到new一个String出来应该是放到哪里的,这个应该是放到堆里面的,后来又问到String的引用是放在什么地方的,当时傻逼的说也...

2018-03-24 22:42:44 203

转载 JVM 将内存区域划分:

大多数 JVM 将内存区域划分:Method Area(Non-Heap)(方法区) ——线程共享Heap(堆) ——线程共享Program Counter Register(程序计数器) ——非线程共享VM Stack(虚拟机栈,也有翻译成JAVA 方法栈的)——非线程共享Native Method Stack ( 本地方法栈 )——非线程共享JVM运行的时候会分配好 Method Area(方...

2018-03-24 22:39:50 302

转载 TreeSet与hashSet的区别

Set接口      Set不允许包含相同的元素,如果试图把两个相同元素加入同一个集合中,add方法返回false。      Set判断两个对象相同不是使用==运算符,而是根据equals方法。也就是说,只要两个对象用equals方法比较返回true,Set就不会接受这两个对象。HashSet与TreeSet都是基于Set接口的实现类。其中TreeSet是Set的子接口SortedSet的实现类...

2018-03-24 11:27:25 259

空空如也

空空如也

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

TA关注的人

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