6 ACLewis

尚未进行身份认证

我要认证

我吃青椒

等级
TA的排名 7k+

【How To】如何写出易于测试的代码?

无关的前言,一点小心得最近一直在疯狂敲码,感觉自己对代码设计和抽象越来越得心应手了,开始享受代码抽象的这个过程,每个模块就像精心设计的一个个小玩具,精巧优雅,看着让人舒服,这时候开始体会到设计模式中的思想,为什么要遵循:开闭原则,为什么要面向对象,代码也可以写的很美正题我最近又在思考测试对项目的意义和实践,毫无疑问测试是开发中可以说是最最最重要的东西了,但是往往测试时常给我们的感觉就是困难、不想写、不想做,我总结了这几点:测试的成本是巨大的,包括时间成本、资源成本测试的外部环境依赖很多,或者有时

2020-05-13 23:43:23

Jetbrains 的一个解密游戏

一个游戏Jetbrains 官方发起了一个 游戏地址 ,奖品是 Jetbrains 全家桶的 3个月使用授权。那我们开始吧。第一个谜题

2020-03-15 16:20:20

什么是学习的本质?

知其然始于一条点赞今天打开CSDN,发现有一条消息,我点开之后,发现有个用户点赞了我很久之前的一篇博文,内容是关于(miller robin) 快速判断大素数的算法的文章,我对着文章发呆了好久,这篇文章是我竞赛时的笔记博文。遗憾的是,现在的我已经完全看不懂这篇文章讲的是什么了,我现在一度好奇我那时候究竟是在干什么,我从我短暂的竞赛学习生涯中究竟获取了什么呢?我究竟在这个过程中获得了什么能力呢?...

2020-02-25 23:56:50

聊聊前端和后端

前言真是很久都没有更新了。其实有没有人看我也不太确定,博客对我自己来说更多是对技术的总结和对生活、工作的一种记录形式。是一种比朋友圈更加深度、全面的记录。有没有人来看其实都不是重点。嗯其实很久没有更新,确实是更多的是无话可说。有时候翻翻之前的大学时期的记录,感觉更有意思一些。现在工作了,理论上接触的知识的深度和广度都更多,但是其实恰恰相反的一种状态。感觉人已经处于一种麻木的状态了,被工作业务的...

2019-05-18 18:25:54

Java元数据和元编程的胡诌诌

今天来简单说说java的元编程与元数据。 为什么想要说这样一个话题,目前其实在java的框架中就会大量应用到元编程、而在我的工作之中会大量使用到元数据进行应用开发。下面先元数据元编程...

2019-02-07 20:23:04

Controller 层 最佳实践相关文章整理

https://github.com/kinginblue/KingBlogSamples/blob/3684865a4b60c9b56acf104e66dbb0b70e6164a5/exception-handler/README.md

2018-09-26 18:25:14

观察者模式实现的 `发布/订阅` 模型

发布者package indi.lewis.pub;import java.util.Observable;import java.util.Observer;import java.util.Random;/** * 发布者 * * @author xiaodongxu * @see Observable * @since 1.0 */public class P...

2018-08-31 18:47:34

闲聊之程序员的职业发展

前言好的,现在是2018年7月29日。是的,本篇博文又是闲聊。不过这次闲聊开始有主题了,这次聊的主题是关于程序员的职业发展。一点个人的小小心得,写出来与君共勉。先说结论要弄明白自己真正想要的是什么!要弄明白自己真正想要的是什么!要弄明白自己真正想要的是什么!(重要的话说三遍)环境很重要!不要轻易裸辞!这是正文本人是才毕业的互联网码农小白一枚,工作时间快一年了。我...

2018-07-29 23:33:30

闲聊

闲聊语言上的想法:最近在看一点fp(函数式编程)的东西,于是顺着这个东西又看了rfp(响应函数式编程)一些乱七八糟的东西。感觉这个东西目前是一个趋势,Java9也同样引入了reactive programing。各种语言慢慢的趋向一个大同时代。reactive programing内部也大量的使用了函数式的编程。无论是vert.x,还是spring的webFlux都是Java在响应式编程的一...

2018-06-04 12:50:31

纷享销客 java开发实习生面经

快速排序,二分,八皇后数据库:给出学生表求平均成绩并指出执行流程java:4种线程池及工作原理,包装类型与值类型的比较http与https被抓包后的内容是否可见spring注解中autowired的工作原理redis的主从强一致性的问题linux:内存,cpu使用情况命令,程序运行状态。文件大小命令MongoDB :没学过

2017-11-26 10:51:07

Java内存模型与垃圾回收

java内存模型堆存储对象数据Eden区\新生代s0区(from)\新生代s1区(to)\新生代tenured区\老年代栈解决程序运行问题,即程序如何执行,或者说如何处理数据存储局部变量,引用主要有三部分组成:局部变量表:用于函数报错的参数及局部变量操作数栈:保存计算过程的中间结果,作为计算过程的变量临时空间。帧数据区:异常处理表方法区 (所有线程共享,永久区)辅助堆栈的

2017-11-19 23:59:45

CAS 与乐观锁

之前学习并发的东西,了解了一点无锁并发的东西,感觉很神奇。JDK的一些无锁的并发容器都是基于CAS做的(如:ConcurrentHashMap),在wiki上看了CAS 的思想,即:比较和交换。最近工作里面要处理一些数据库并发的东西,师兄又和我讲了一下乐观锁的思想和实现,大概意思是每次更新前做对数据库的行记录做一次版本比较,版本相同则进行更新,否则说明这条记录被其他线程修改过了,那么就不进行修改。猛

2017-11-16 22:30:37

秋招闲扯

这篇博客随便扯扯,就不排版了~ 秋招基本接近结束了。目前在学校的附近找了一家小公司实习中,做关于比特币的场外交易,我目前负责交易所的API接入,感觉还是在搬砖的状态,sad~~ 秋招很遗憾的是目前还没有进入满意的公司,招聘市场给我的感觉是毕业生,初级人员非常多。根本不愁招人,招的人数又很少。供需关系是供多需少。大公司更是难进了。公司都是想着奇怪的方法来淘汰候选人(比如:如何测量一个云朵的质量这种奇怪

2017-11-14 22:31:09

java并发编程--线程池

线程池为什么使用线程池?线程生命周期的开销非常高。1.频繁的创建,销毁线程需要使用额外的时间,资源。资源消耗1.若线程过多,会对系统造成巨大负担。2.空闲的线程过多,会占用大量的内存,给垃圾回收器带来压力。3.大量的线程竞争CPU会导致过多的CPU上下文切换的开销和性能开销,创建过多的线程会导致性能降低。稳定性1.在可创建的线程的数量上存在一个限制。过多的线程可能会导致OutOfMem

2017-11-09 10:32:51

java并发编程--构造高效的结果缓存

声明:本文的程序样例以及程序的演进优化均来自《java并发编程实战》,个人觉得文章写的很好,加上一些自己的理解分享给大家。(原文在原书:85页开始)文章代码GitHub地址假设需求场景:几乎所有的服务器都有某种形式的缓存,如现在流行的redis,现在要构造一个缓存系统,用来存储一种非常耗时计算系统的结果,用来避免重复的计算和提高系统的响应,缓存系统会有多个线程并发访问。计算类的接口package c

2017-10-10 01:53:06

java并发编程--锁和并发的小总结

个人对锁和并发的理解,说错欢迎纠错更正线程安全1 对象封闭(不做共享)1).该对象封闭在某个作用域内,如局部变量,其他线程无法访问 2).封闭在线程内,由某个线程独占,与上思路相同,不做对象共享ThreadLocal 的思想便是将对象封闭在线程上, ThreadLocal为每个使用该变量的线程提供独立的变量副本。2 锁 向 对象 加锁 ,确保不会多个线程发生竞争。3 对象本身

2017-09-25 00:50:01

redis-入门命令笔记

redis 【第三章第一节】字符串类型的基本操作命令笔记//以下数据库命令与jedis方法一一对应。 SELECT [数字] //选择数据库127.0.0.1:6379> SELECT 1 OK 127.0.0.1:6379[1]> KEYS * //查询出所有的键127.0.0.1:6379[1]> KEYS * (empty list or set)

2017-06-15 01:38:57

随手记java开发实习生面试

闲话大三暑假学校安排了实训计划,去一些公司体验实习,其实是去培训机构上课。8人一个宿舍,于是自己就开始了海投模式,现在基本弃疗了。。。投了8家,就一家回复了我。。。算了,还是去吧。没错我这次面试又是日常失败。总结下还是没有项目经验,很吃亏。一定要写个小项目啊,准备暑假按照教程写个分布式,然后看看spring,jdk的源码,面试都是会问的,数据库同样要加强。开始早上11点起床,发现面试官qq加我了,吓

2017-06-09 01:15:02

File-OS(简单文件系统的实现)

前言期末的OS的大作业,写了一个简单的文件管理系统,写了5天左右(实际整个项目历经一个月(大部分时间在挂机),花了不少时间来构思,设计系统的架构。。。。),写的比较辛苦,既然花了这么久的时间,那就拿出来分享下,希望各位指点指正。。项目github地址https://github.com/qq1367212627/File-OS简单的介绍基本的功能是在磁盘上(D:/VitualDisk/)开辟一个虚拟

2017-05-31 01:03:39

今日头条(Java后台研发)-一面挂

和面试官聊了(被虐)一个小时左右,大概就这些: 1.翻转链表 2.访问百度全过程(计算机网络,路由,http,https区别。。) 3.2个有序数组,找2个数组合并的第K大数字,O(1)空间 4.估算排队平均等待时间(数学题,没懂) 5.放置棋子,如何放置先手必赢(数学博弈。。) 6.在无序数组里,查找比自己相邻元素大的下标,O(logn)时间(不会)

2017-05-22 22:47:48

查看更多

勋章 我的勋章
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。