
编程经验
文章平均质量分 80
你呀不牛
你不牛,认识再多牛人也与你无关--公众号你呀不牛
展开
-
【算法提升计划】算法开篇
一直想着开始刷刷题,即便是不出去面试,也能锻炼下思维逻辑,但是总是半途而废由此便想到了作为学渣的我,高中英文被单词时经常连第一个abandon都记不住,这就跟现在的力扣算法第一题一样,记得多年前其实是看过思路的,现在发现做的还是磕磕绊绊那就趁着掘金活动,把一些题结合这自己的理解,保证每天一道题的速度到春节吧,以此为证单词表中的abandon万事开头难,现在就从单词第一个入手,这道本身也不难,所以就从他开始了two sum今日题目给定一个整数数组 nums 和一个整数目标值 target,请你在原创 2021-11-17 16:57:42 · 161 阅读 · 0 评论 -
优秀程序员都在注意的十个点
1. 多走半里路很多事情并不难,只是缺乏多走半里路的习惯!反例public boolean isInValid(String str) { if (str == null || str.trim().length() == 0) { return true; } return false;}多走一步,海阔天空public boolean isInValid(String str) { return (str == null) || (str.t原创 2021-05-09 16:21:59 · 217 阅读 · 0 评论 -
UT之最后一测
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-poJoD63U-1619626601017)(https://i.loli.net/2021/04/21/CywjlKU7vbfcA4V.png)]经过前面几次文章的分享的UT的相关知识,今天接着分享UT相关最后一测文章,希望对大家在UT的学习中有一点点的帮助。Spring集成测试有时候我们需要在跑起来的Spring环境中验证,Spring 框架提供了一个专门的测试模块(spring-test),用于应用程序的集成测试。原创 2021-04-29 00:18:07 · 267 阅读 · 0 评论 -
java如何实现在多时区和夏令时中穿梭
java如何实现在多时区和夏令时中穿梭常用时间格式世界标准时间,其中T表示时分秒的开始(或者日期与时间的间隔),Z表示这是一个世界标准时间2019-02-28T01:47:07.081Z本地时间,也叫不含时区信息的时间,末尾没有Z2019-02-28T09:47:07.153含有时区信息的时间,+08:00表示该时间是由世界标准时间加了8个小时得到的,[Asia/Shan...原创 2019-02-28 21:34:01 · 1373 阅读 · 0 评论 -
工作多年后我更了解了UT的重要性
对于有经验的开发写单元测试是非常有必要的,并且对自己的代码质量以及编码能力也是有提高的。单元测试可以帮助减少bug泄露,通过运行单元测试可以直接测试各个功能的正确性,bug可以提前发现并解决,由于可以跟断点,所以能够比较快的定位问题,比泄露到生产环境再定位要代价小很多。同时充足的UT是保证重构正确性的有效手段,有了足够的UT防护,才能放开手脚大胆重构已有代码,工作多年后更能发现UT的重要。单元测试在敏捷的开发理念中,覆盖全面的自动化测试是添加新特性和重构的必要前提。单元测试在软件开发过程中的重要性不原创 2021-03-08 22:13:52 · 571 阅读 · 0 评论 -
震惊guava竟然有“坑“
由Guava API的一个“坑”说开去最近,团队里边一个兄弟突然叫我:快来看,有个奇怪的事情,无法解释…笔者跑过去一看,是这么一段代码: private static class Person { private int age; private String name; public Person(int age, String name) { this.age = age; this.name = n原创 2020-09-26 21:13:24 · 588 阅读 · 0 评论 -
java杂谈之并发容器
常用容器前几天和同事xhf、zm走查代码,功能是为了减少频繁你创建FTP开销用线程notify和wait实现了一个FTP池子,当时提的建议就是用java自带的线程集合实现可能更高效,本文整理下JDK自带线程安全的集合,不考虑多线程并发的情况下,容器类一般使用 ArrayList、HashMap 等线程不安全的类,效率更高。在并发场景下,常会用到ConcurrentHashMap、ArrayBl...原创 2020-04-13 00:46:58 · 540 阅读 · 0 评论 -
强悍的Spring之AOP注解使用
Spring中使用注解方式实现AOP,采用@AspectJ方式实现,首先确定需要切入的方法,也就是连接点@Servicepublic class UserServiceMethod { public void add(String name) { System.out.println("UserServiceMethod add name is:" + name);...原创 2020-03-29 17:59:37 · 204 阅读 · 0 评论 -
java杂谈之线程池
1、为什么要使用线程池受限于硬件、内存和性能,我们不可能无限制的创建任意数量的线程,因为每一台机器允许的最大线程是一个有界值。线程池就是用这些有限个数的线程,去执行提交的任务。然而对于多用户、高并发的应用来说,提交的任务数量非常巨大,一定会比允许的最大线程数多很多。为了解决这个问题,必须要引入排队机制,或者是在内存中,或者是在硬盘等容量很大的存储介质中。Java提供的ThreadPoolExe...原创 2020-03-22 23:34:26 · 206 阅读 · 0 评论 -
【转载】一名工作三年的程序猿应该具有什么样的技能
工作一段时间后,总有点在舒适区的感觉,找了个比较好的帖子,激励下自己,提醒自己还是欠缺很多前言因为和同事有约定再加上LZ自己也喜欢做完一件事之后进行总结,因此有了这篇文章。这篇文章大部分内容都是面向整个程序员群体的,当然因为LZ本身是做Java开发的,因此有一部分内容也是专门面向咱们Java程序员的。简单先说一下,LZ坐标杭州,13届本科毕业,算上年前在阿里巴巴B2B事业部的面...原创 2019-11-16 14:22:22 · 199 阅读 · 0 评论 -
Java杂谈之BOM谜题
0、前言开发中做了一个导出CSV功能,本地通过wps测试都没有问题,但是测试人员测试的时候发现用excel打开中文表头会出现乱码现象,很奇怪的现象,用nodePad工具打开看也是正常的,但是用excel打开就是中文乱码,通过查找资料了解到是因为csv文件是utf-8编码的,但是没有增加bom头,这样就会导致在window环境下一些软件会用默认编码打开文件从而导致乱码问题,本文详细介绍从前端下载...原创 2019-07-27 16:19:23 · 628 阅读 · 2 评论 -
结对编程两年,我学到了这些
自从研究生毕业一直在一个施行敏捷开发的团队工作,两年多来一个比较好的开发模式就是结对编程,但是最近一段时间由于项目进度和团队人员变更问题导致没有把这个敏捷实践贯彻下来,希望下半年能把以前总结出来较好的方式继续下去,并以此文简单总结下结对编程的优势。目前已经有很多互联网公司采用结对的方式编码,网上也有很多资料介绍结对编程的方式,坦白说来,两个人的头脑结合在一起反应更快,也能有更好的成果,比如更高...原创 2019-07-05 22:35:36 · 344 阅读 · 0 评论 -
个人理解设计为何要多用组合,少用继承
刚刚接触模式或者学习模式的人,经常会有这样的问题,为什么模式是成功的呢?很多人都会说模式是经验的积累,当然是正确的。可是经验为什么偏偏就证明了这种模式是正确的呢?这其中起用作的就是面向对象的基本原则。正是因为模式都或多或少的符合了面向对象的基本原则,所以模式才成为我们面向对象的设计和编码过程中不败的法则。那么什么是面向对象的基本原则呢?任何的理论,只要有生动的例子来讲解或证明,就能极大的帮助理解。...原创 2018-04-25 20:26:51 · 234 阅读 · 0 评论 -
dropwizard常用属性注解
dropwizard框架默认使用的fastxml的jackson注解一、两种情况下都有效的注解1. @JsonIgnore@JsonIgnore 用来告诉 Jackson 在处理时忽略该注解标注的 java pojo 属性,不管是将 java 对象转换成 json 字符串,还是将 json 字符串转换成 java 对象。下面是一个具体的例子首先定义一个java pojo类1234567891011...原创 2018-04-23 19:54:10 · 1034 阅读 · 0 评论 -
第一个工作五年计划(2018)
第1部分初步了解阶段,多学习,多看书,多思考,业务和技术都需要不断的沉淀,之所以然。第2部分:对于参加工作一年以内的同学。恭喜你,这个时候,你已经拥有了一份Java的工作。这个阶段是你成长极快的阶段,而且你可能会经常加班。但是加班不代表你就可以松懈了,永远记得我说的那句话,从你入行那一刻起,你就要不停的学习。在这一年里,你至少需要看完《Java编程思想》这本书。这本书的内容转载 2018-01-27 21:57:38 · 1066 阅读 · 0 评论