Java面试
其他
聊聊数据库乐观锁和悲观锁
更新的时候将version字段传过来,然后更新的时候就可以进行version判断,如果version可以匹配上,那么就可以更新(方法:updateCatalogWithVersion)。
2019年5月23日
其他
面试官:你了解乐观锁和悲观锁吗?
2.有时乐观锁可能与加锁操作合作,例如,在前述updateCoins()的例子中,MySQL在执行update时会加排它锁。但这只是乐观锁与加锁操作合作的例子,不能改变“乐观锁本身不加锁”这一事实。
2019年5月8日
其他
软件可以流氓到什么程度?从卸载步骤就可以看出来!
某网友表示,曾经,自己的电脑在未安装任何杀毒软件的情况下,不幸被某流氓软件看中。由于网友本人没有做出任何处理,所以每天电脑上都会莫名多出一大堆软件,直到那一天......
2019年4月24日
其他
那些年,我们一起卸载过的软件…
“不要说我没告诉你,外面的世界很危险,你确定离开了我,你能应付得来吗?”,如果用户还是执意要离开,在幽怨和卖萌都不能奏效的情况下,冷笑着说出这句话,有时候也能收获意外的惊喜。
2019年4月23日
其他
Intellij IDEA神器那些让人爱不释手的小技巧
如果你的项目里有非常多的controller,里面有非常多的http或者resful方法。如何快速找到这些方法呢?这个时候,ctrl+alt+shift+n就可以派上用场了。
2019年4月17日
其他
从程序员的角度深入理解MySQL
对于绝大数的应用系统,读写比例在10:1,甚至100:1,而且insert/update很难出现性能问题,遇到最多的,最棘手的就是select了,select优化是重中之重,显然少不了索引!
2019年4月16日
其他
彻底理解Netty,这一篇文章就够了
如果当前读到的数据加上已经读取的数据足够拼接成一个数据包,那就将已经读取的数据拼接上本次读取的数据,构成一个完整的业务数据包传递到业务逻辑,多余的数据仍然保留,以便和下次读到的数据尝试拼接。
2019年4月15日
其他
基于redis的分布式锁的分析与实践
1.2、由1.1引申出来,当锁自动释放了,但是程序并没有执行完毕,这时候其他线程又获取到锁执行同样的程序,可能会造成并发问题,这个问题我们需要考虑一下是否归属于分布式锁带来问题的范畴。
2019年4月14日
其他
Mysql高性能优化规范建议
没有特殊要求(即Innodb无法满足的功能如:列存储,存储空间数据等)的情况下,所有表必须使用Innodb存储引擎(mysql5.5之前默认使用Myisam,5.6以后默认的为Innodb)。
2019年4月12日
其他
深入 Nginx:我们是如何为性能和规模做设计的
sharding),事件由新的连接进行初始化,接着这些连接被派发给某个状态机—HTTP状态机是其中最常用的一种,不过NGINX也实现了基于流的状态机、基于通信协议的状态机(SMTP,
2019年4月11日
其他
为什么不应该重写service方法?
这次请求的头信息中多了一条If-Modified-Since,而且返回的响应中,状态变为了304,这是怎么回事?还记得红薯那篇文章页中的304么,你会发现,304多出现在对于静态资源的请求上面。
2019年4月9日
其他
杂谈篇之我是怎么读源码的
Scheduler,并将其注册到spring容器中。SchedulerFactoryBean实现InitializingBean的afterPropertiesSet方法,里面有可以设置数据源的过程
2019年4月5日
其他
七点建议助您写出优雅的Java代码
如果您已经为许多项目建立了可复用各种基本库,那么如果仅仅是内部使用的话,您可以引入Nexus(一种Maven存储库的管理器)来进行管理。否则,您应该将它们直接部署到Maven的中央存储库中。
2019年4月4日
其他
对接【支付宝】支付接口
最近在做支付宝的接口对接,之前做过一个版本,但是由于申请了新的账号以前旧的的接口对接就不能使用了所以就开始对接新的版本接口对接,在这里也记录一下让那些还没有对接的兄弟少走点弯路。
2019年4月3日
其他
HashMap是如何工作的
hash这也正好解释了为什么需要2的次幂作为数组的容量。由于n是2的次幂,因此,n-1类似于一个低位掩码。通过与操作,高位的hash值全部归零,保证低位才有效
2019年4月1日
其他
包装严重的IT行业,作为面试官,我是如何甄别应聘者的包装程度
很多应聘者对于简历过于包装,只为了追求更高的薪资。当我们问起:你是xx年xx月入职的该公司?你们项目是xx年xx月上线的?你们项目使用到xx技术?你们每次上线前夕是如何评审的。
2019年4月1日
其他
Redis实现的分布式锁和分布式限流
总结一下,这次实现采用了使用lua脚本和Redis实现了锁和限流,但是真实使用的时候还需要多测试,另外如果此次Redis也是采用的单机实现方法,使用集群的时候可能需要改造一下。
2019年3月26日
其他
用100行代码提升10倍的性能
条甚至更多的数据,每一条数据的数据结构是一个对象,里面有格式各样的属性。每个属性的值又可以是基本类型,对象,甚至数组。这里的对象或者数组内部的元素又可以继续包含对象或者数组并且允许无限嵌套下去。比如
2019年3月24日
其他
写了8年的代码,做过的项目都下线了,程序员的意义在哪里!
而有时候,在与人交谈时,当对方提出想看我开发过的一些线上的项目的时候,我竟会常常语塞,除了我近期正在做的项目,其余的,我想不起来,还有什么还在线上。
2019年3月19日
其他
Java程序员,最常用的20%技术有哪些
5.web项目要操作数据库的工作是少不了的了,自己跟的项目没用hibernate,主要用的是StringBuffer拼接sql,如果从事web开发,sql还是要比较熟的。
2019年3月15日
其他
毕业两年半总结+19年换工作面试总结
19年1月份的时候再一个微信公众号上,看到了很多好公司,自己就投了几家,准备去积累面试经验,然后过完年的3月份再去面试一些相对容易的公司。然后在这里收到了蚂蚁金服,naver
2019年3月14日
其他
一次 Java 内存泄漏的排查
来源:https://zhenbianshu.github.io/2018/12/troubleshooting_java_memory_leak.html
2019年3月13日
其他
SpringMVC工作原理
4.处理器Handler(需要工程师开发)注意:编写Handler时按照HandlerAdapter的要求去做,这样适配器才可以去正确执行HandlerHandler
2019年3月11日
其他
项目中常用的19条MySQL优化
SELECT*增加很多不必要的消耗(CPU、IO、内存、网络带宽);增加了使用覆盖索引的可能性;当表结构发生改变时,前断也需要更新。所以要求直接在select后面接上字段名。
2019年3月7日
其他
深入理解synchronized关键字
synchronized加在方法上,JVM是通过ACC_SYNCHRONIZED来控制的,但本质上也是通过monitorenter和monitorexit指令控制的。
2019年3月7日
其他
IntelliJ IDEA 使用教程(2019图文版) -- 从入门到上瘾
本地仓库的地址是自动生成的,通常在C盘的用户目录里,所以在实际开发中推荐大家指定本地仓库的地址,避免因重装系统或被第三方安全工具清理而丢失数据。Maven的配置很简单,删掉注释后一目了然。如图:
2019年3月6日
其他
Redis为何这么快--数据存储角度
前面说过,Redis每个对象由一个redisObject结构表示,它的ptr指针指向底层实现的数据结构,而数据结构由encoding属性决定。比如我们执行以下命令得到存储“hello”对应的编码:
2019年3月5日
其他
Nginx面试中最常见的18道题
X,是一款免费的、自由的、开源的、高性能HTTP服务器和反向代理服务器;也是一个IMAP、POP3、SMTP代理服务器;Nginx以其高性能、稳定性、丰富的功能、简单的配置和低资源消耗而闻名。
2019年3月2日
其他
聊聊BIO,NIO和AIO
buffer里没有数据就可以确定定对方还没有发过来,于是Block;而对于普通磁盘文件的读写,也许磁盘运作期间会抖动,会短暂暂停,但是操作系统无法预见这种情况,只能视作不会Block,照样执行。
2019年3月1日
其他
一文理解Netty模型架构
例如在推送系统的业务线程里面,根据用户的标识,找到对应的channel引用,然后调用write类方法向该用户推送消息,就会进入到这种场景。最终的write会提交到任务队列中后被异步消费。
2019年2月27日
其他
2018年阿里巴巴重要开源项目汇总
VM,是国内第一个优化、定制且开源的服务器版Java虚拟机。目前已经在淘宝、天猫上线,全部替换了Oracle官方JVM版本,在性能,功能上都初步体现了它的价值。
2019年2月26日
其他
MyBatis动态SQL(认真看看, 以后写SQL就爽多了)
System.out.println(ToStringBuilder.reflectionToString(studentsByNameAndSex.get(i),
2019年2月24日
其他
史上最污技术解读,60 个 IT 术语我竟然秒懂了......
假设你是个妹子,你男朋友风流倜傥,你总担心他出轨,于是你在他身上安装了一个窃听器,里面内置了一些可疑女生勾搭行为的特征库,只要出现疑似被勾搭的情况,就会立刻向你报警,这叫入侵检测系统(IDS)。
2019年2月23日
其他
详解设计模式在Spring中的应用
设计模式作为工作学习中的枕边书,却时常处于勤说不用的尴尬境地,也不是我们时常忘记,只是一直没有记忆。Spring作为业界的经典框架,无论是在架构设计方面,还是在代码编写方面,都堪称行内典范。
2019年2月23日
其他
一个程序员送给大学生弟弟的那些话
如果你不知道以后你要做什么,你打开招聘网站,你去看每一个分类,每一个职位,你看到高待遇的岗位,你点开,你会发现要求好高,似乎达不到,你看到低待遇的岗位,你会发现要求好低,但似乎同样也不好做。
2019年2月22日
其他
项目中常用的19条MySQL优化
SELECT*增加很多不必要的消耗(CPU、IO、内存、网络带宽);增加了使用覆盖索引的可能性;当表结构发生改变时,前断也需要更新。所以要求直接在select后面接上字段名。
2019年1月22日
其他
自己手写一个Mybatis框架(简化)
Executor是一个执行器,负责SQL语句的生成和查询缓存(缓存还没完成)的维护,也就是jdbc的代码将在这里完成,不过本文只实现了单表,有兴趣的同学可以尝试完成多表。
2019年1月18日
其他
某小公司 RESTful、共用接口、前后端分离、接口约定的实践
随着互联网高速发展,公司对项目开发周期不断缩短,我们面对各种需求,使用原有对接方式,各端已经很难快速应对各种需求,更难以提高效率。于是,我们不得不重新制定对接规范、开发逻辑以便快速上线项目。
2019年1月18日
其他
Java并发编程73道面试题及答案 —— 面试稳了
1048576K19、为什么我们调用start()方法时会执行run()方法,为什么我们不能直接调用run()方法?当你调用start()方法时你将创建新的线程,并且执行在run()方法里的代码。
2019年1月17日
其他
HashMap?面试?我是谁?我在哪?
Offer,能透露一下面试内容和技巧吗?达摩:嘿嘿嘿,没问题鸭,叫声爸爸我就告诉你。小鲁班:耙耙(表面笑嘻嘻,心里MMP)达摩:其实我也不是很记得了(请继续装),但我还是记得那么一些。如果你是面的
2019年1月16日
其他
Linux性能调优那些事儿
这个值提供了发生在指定网卡上的网络冲突的数量。持续的出现这个值代表在网络架构上出现了瓶颈,而不是在服务器端出现的问题。在正常配置的网络中冲突是非常少见的,除非用户的网络环境都是由hub组成。
2019年1月16日
其他
mysql数据库开发常见问题及优化
导致数据误删或者混乱的问题并非少见,但是刚入行的开发工作者会比较紧张。一个成熟的企业往往会有完善的数据管理规范和较丰富的数据恢复方案(初创公司除外),会进行数据备份和数据容灾。
2019年1月7日
其他
代码都写不好,你怎么提高技术?
安全的评审成员。他是1998年参加工作的,20多年了一直在一线从事编程工作,并且有非常丰富的代码评审经验,编程界元老级人物了,有这样过往的前辈来写这样一个专栏,最合适不过了。
2019年1月2日