java面试总结
文章平均质量分 93
人在^O^旅途
越努力越幸运!
展开
-
秒杀系统是怎么设计的?
背景我之前写过一个秒杀系统的文章不过有些许瑕疵,所以我准备在之前的基础上进行二次创作,不过让我决心二创秒杀系统的原因是我最近面试了很多读者,动不动就是秒杀系统把我整蒙蔽了,我懵的主要是秒杀系统的细节大家都不知道,甚至不知道电商公司一个秒杀系统的组成部分。我之前在某电商公司就是做电商活动的,所以这样的场景和很多解决方案我是比较清楚的,那我就从我自身去带着大家看看一个秒杀的设计细节以及中间各种解决方案的利弊,以下就是我设计的秒杀系统,几乎涵盖了市面上所有秒杀的实现细节:正文首先设计一个系统之前,我们需转载 2021-01-06 14:12:42 · 314 阅读 · 2 评论 -
面试:Spring 事务有哪些坑?
文章目录引言1. Spring 事务的原理2. Spring 什么情况下进行事务回滚3. Spring 事务什么时候失效3.1 发生自调用3.2 方法修饰符不是 public3.3 发生了错误的异常3.4 数据库不支持事务3.4. Spring 事务隔离和数据库事务隔离是不是一个概念3.5. Spring 事务控制放在 Service 层,在 Service 方法中一个方法调用 Service 中的另一个方法,默认开启几个事务3.6. 怎么保证 Spring 事务内的连接唯一性4 总结引言今天,我们来讲原创 2020-11-19 10:23:44 · 374 阅读 · 0 评论 -
JAVA 线上故障排查完整套路
线上故障主要会包括 CPU、磁盘、内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍。同时例如 jstack、jmap 等工具也是不囿于一个方面的问题的,基本上出问题就是 df、free、top 三连,然后依次 jstack、jmap 伺候,具体问题具体分析即可。一、CPU一般来讲我们首先会排查 CPU 方面的问题。CPU 异常往往还是比较好定位的。原因包括业务逻辑问题(死循环)、频繁 gc 以及上下文切换过多。而最常见的往往是业务逻...原创 2020-07-04 11:26:36 · 265 阅读 · 0 评论 -
Java虚拟机:垃圾收集算法
垃圾回收机制的意义Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用空闲的内存。ps:内存泄露是指该内存空间使用完毕之后未回收,在不涉及复杂数据结构的一...转载 2020-04-21 09:59:34 · 182 阅读 · 0 评论 -
Servlet 生命周期、工作原理
Servlet 生命周期:Servlet 加载—>实例化—>服务—>销毁。init():在Servlet的生命周期中,仅执行一次init()方法。它是在服务器装入Servlet时执行的,负责初始化Servlet对象。可以配置服务器,以在启动服务器或客户机首次访问Servlet时装入Servlet。无论有多少客户机访问Servlet,都不会重复执行init()。se...转载 2018-08-01 09:48:58 · 694 阅读 · 0 评论 -
Spring事务管理的四种方式(以银行转账为例)
一、事务的作用 将若干的数据库操作作为一个整体控制,一起成功或一起失败。 原子性:指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。 一致性:指事务前后数据的完整性必须保持一致。 隔离性:指多个用户并发访问数据库时,一个用户的事务不能被其他用户的事务所干扰,多个并发事务之间数据要相互隔离。 持久性:指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,...转载 2018-08-01 11:07:47 · 906 阅读 · 0 评论 -
三分钟彻底了解Restful最佳实践
REST是英文representational state transfer(表象性状态转变)或者表述性状态转移;Rest是web服务的一种架构风格;使用HTTP,URI,XML,JSON,HTML等广泛流行的标准和协议;轻量级,跨平台,跨语言的架构设计;它是一种设计风格,不是一种标准,是一种思想Rest架构的主要原则 网络上的所有事物都被抽象为资源 每个资源都有一个唯一...转载 2018-08-01 13:49:31 · 750 阅读 · 0 评论 -
Java开发人员如何构建自己的技术体系
可以说,Java是现阶段中国互联网公司中,覆盖度最广的研发语言,掌握了Java技术体系,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司,都能有立足之地。有不少朋友问,除了掌握Java语法,还要系统学习哪些Java相关的技术,今天分享一个,互联网Java技术学习路线图。一:常见模式与工具学习Java技术体系,设计模式,流行的框架与组件是必不可少的: 常见的设计模式,编码必备...原创 2018-09-06 11:11:43 · 905 阅读 · 0 评论 -
Spring AOP中JDK和CGLib动态代理哪个更快?
一、背景昨天一位知识星球的小伙伴面试的时候被问到:Spring AOP中JDK和CGLib动态代理哪个效率更高?二、基本概念首先,我们知道Spring AOP的底层实现有两种方式:一种是JDK动态代理,另一种是CGLib的方式。自Java 1.3以后,Java提供了动态代理技术,允许开发者在运行期创建接口的代理实例,后来这项技术被用到了Spring的很多地方。JDK动态代理主要...转载 2018-09-10 09:24:53 · 880 阅读 · 0 评论 -
Java的变量命名规范
Java的变量命名 Java的变量命名 1、首字母:英文字母、$和下划线。变量名:由$、字母、数字和下划线组成。 2、变量的命名遵循见名知义的原则。 3、用驼峰命名法命名多个单词组成的变量名。 [比如: sumScore ]4、变量名[方法名]首字母建议不用大写字母。 [首字母大写一般是用来标识类名的] -- 看起来更规范而已 ...原创 2018-08-01 09:37:13 · 12196 阅读 · 0 评论 -
java面试需要掌握知识点
重点知识 由于我面试的JAVA开发工程师,针对于JAVA,需要理解的重点内容有: JVM内存管理机制和垃圾回收机制(基本每次面试都会问,一定要搞得透彻) JVM内存调优(了解是怎么回事,一般做项目过程中使用较多) 设计模式(熟悉常见设计模式的应用场景,会画类图,实在不行背几个也是有用的) 多线程(每次都会问,包括线程和进程、线...转载 2018-07-27 08:58:43 · 973 阅读 · 0 评论 -
2年java开发工作经验
最近换了个公司,从三月底开始面,面到四月底,面了有快二十家公司。我是一个喜欢总结经验的人,每经过一场面试,我在回来的路上都会仔细回想今天哪些问题可以答的更好,或者哪些问题是自己之前没遇到过的,或者是哪个知识点今天又问了等等。四月中旬的时候,我就在构思要写一篇面经,主要是想着可能对那些跟我相同处境的人有点帮助,再者就是稍微记录下这为期一个月的面试过程。个人介绍:首先介绍下我面试时的自身条转载 2017-10-12 17:39:14 · 3024 阅读 · 0 评论 -
程序员常用教学网站
1、菜鸟教学网站:http://www.runoob.com/2、SQL教学网站http://www.1keydata.com/cn/sql/3、易百教程™ - 专注于IT教程和实例http://www.yiibai.com原创 2017-05-10 09:12:46 · 1388 阅读 · 0 评论 -
java面试题集
作为一名Java开发软件工程,一定要记住,基础非常重要,往往就是一些基础,很简单,但是你就是不知道实现原理,为什么使用,有没有自己去发现,对比,差异从而总结,有些东西看似简单,但是不一定你描述清楚,直观,简洁,故要要坚持在每天闲暇之余学习其中几道题目,日积月累,等到出去面试时,一切都水到渠成,面试时就自然会游刃有余了。答题时,先答是什么,再答有什么作用和要注意什么(这部分最重要,展现自己的转载 2017-04-17 10:44:32 · 1528 阅读 · 0 评论 -
java面试别人总结博客链接
一、java面试提全集Java面试题全集(上)Java面试题全集(中)Java面试题全集(下)原创 2017-10-14 20:28:58 · 1268 阅读 · 0 评论 -
通俗易懂权限管理模块设计-Java
最近一直在做CMS系统,发现一些内容其实都是重复出现的,例如权限管理模块。权限管理模块就是为了管理用户是否有权利访问某个权限,如果不能则拒绝访问。其实Java中已经有很成熟的权限管理框架,例如 Shiro,Spring Security等,也推荐大家使用。但是一些设计上的东西还是要重复再造过轮子才能发现里面的精髓,所以这份代码,供不太明白的同学也参考参考。代码分享在 Github 上,欢迎大家...转载 2018-07-30 11:41:37 · 1833 阅读 · 0 评论 -
Oracle中分页查询语句
Oracle数据库和Mysql数据库的查询语句大致一样,比较明显的不同点是分页查询,下面是Oracle数据库的分页查询语句。Oracle分页查询语句基本上可以按照本文给出的格式来进行套用。Oracle分分页查询格式:SELECT * FROM ( SELECT A.*, RN FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM <...转载 2018-07-30 11:55:50 · 716 阅读 · 0 评论