前言 作为Java程序员的你,不知道有没有踩过一些基础知识的坑. 有时候,某个bug查了半天,最后发现竟然是一个低级错误. 有时候,某些代码,这一批数据功能正常,但换了一批数据就出现异常了. 有时候,你可能会看着某行代码目瞪口呆,心里想:这行代码为什么会出错? 今天跟大家一起聊聊99%的Java程序员踩过,或者即将踩的6个坑. 1. 用==号比较的坑 不知道你在项目中有没有见过,有些同事对Integer类型的两个参数使用==号比较是否相等? 反正我见过的,那么这种用法对吗? 我的回答是看具体场景…
原文链接: 听说,99% 的 Go 程序员都被 defer 坑过 先声明:我被坑过. 之前写 Go 专栏时,写过一篇文章:Go 专栏|错误处理:defer,panic 和 recover.有小伙伴留言说:道理都懂,但还是不知道怎么用,而且还总出现莫名奇妙的问题. 出问题就对了,这个小东西坏的很,一不留神就出错. 所以,面对这种情况,我们今天就不讲道理了.直接把我珍藏多年的代码一把梭,凭借多年踩坑经历和写 BUG 经验,我要站着把这个坑迈过去. 一. 先来一个简单的例子热热身: package m…
在编程时,小挫折可能与大难题一样令人痛苦.没人希望在费劲心思之后,只是做到弹出消息窗口或是快速写入数据库.因此,程序员都会喜欢那些能够快速处理这些问题,同时长远来看也很健壮的解决方案. 下面这6个Python库既可以快速解决眼前的棘手问题,同时也能够作为大型项目的基础. Pyglet 是什么:Pyglet是一个纯Python语言编写的跨平台框架,用于开发多媒体和窗口特效应用. 为什么需要它:从头开发图形界面应用所需要的功能模块是十分繁琐的,Pyglet提供了大量现成的模块,省去了很多的时间:窗口…
程序员的踩过的坑也是可以分类的,很常见又很难解决的一类是偶然的现象,表现起来比较怪异. 而把一个问题Bug的偶现变成必现,是开发人员的一种能力.我认为也应该是测试人员的一种能力,但是各个公司要求不一样吧.我在华为做过测试,虽然时间过去很久了,但是当时学到的方法影响至今.总之还是那句话,对你要求高的才让你成长更快,所以不要辜负对你严格的人! 最近有几个Bug和小伙伴成功的从偶然的现象变成必然的现象,所以还是记录下这种有成就感的心情吧.早在华为测试的时候就可以帮开发定位问题了,后面到现在公司也时不时…
补充知识点:操作数据语句优化的认识 通常情况下,当访问某张表的时候,读取者首先必须获取该表的锁,如果有写入操作到达,那么写入者一直等待读取者完成操作(查询开始之后就不能中断,因此允许读取者完成操作).当读取者完成对表的操作的时候,锁就会被解除.如果写入者正在等待的时候,另一个读取操作到达了,该读取操作也会被阻塞(block),因为默认的调度策略是写入者优先于读取者.当第一个读取者完成操作并解放锁后,写入者开始操作,并且直到该写入者完成操作,第二个读取者才开始操作.因此:要提高MySQL的更新/插…
1. 禁止右键点击 $(document).ready(function(){ $(document).bind("contextmenu",function(e){ return false; }); }); 2. 隐藏搜索文本框文字 Hide when clicked in the search field, the value.(example can be found below in the comment fields) $(document).ready(function…
1. 禁止右键点击$(document).ready(function(){ $(document).bind("contextmenu",function(e){ return false; });}); 2. 隐藏搜索文本框文字Hide when clicked in the search field, the value.(example can be found below in the comment fields)$(document).ready(function() {…
收集的35个 jQuery 小技巧/代码片段,可以帮你快速开发. 1. 禁止右键点击 $(document).ready(function(){ $(document).bind("contextmenu",function(e){ return false; }); }); 2. 隐藏搜索文本框文字 Hide when clicked in the search field, the value.(example can be found below in the comment f…
使用Spring Aop注解的时候,如@Transactional, @Cacheable等注解一般需要在类方法第一个入口的地方加,不然不会生效. 如下面几种场景 1.Controller直接调用Service B方法:Controller > Service A 在Service A 上加@Transactional的时候可以正常实现AOP功能. 2.Controller调用Service A方法,A再调用B方法:Controller > Service A > Service B 在…
仔细想了下还是转java吧,因为后期不管是留在北京也好还是回老家也好,java的工作都会好找一点.现在的工作主要还是写.net,目标是下一次离职的时候可以找到一份全职的java工作,我一直都觉得实践才是学习的最好方法. 现在这些的文章内容,主要是来自月慕课网的教学视频和自己的一些总结整理,我计划从一个小白做起,一步一步的去了解熟悉java这门语言. 从java的基础语法开始到现在看的spring,已经花了一定的时间和精力,现在我感觉不管是java还是.net在很多地方都能找到相似之处,现在对我来…