自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (8)
  • 收藏
  • 关注

原创 《Effective Java》阅读笔记 18接口优于抽象类

接口和抽象类抽象类允许某些方法的实现,但是接口不允许(JDK 1.8 已经运行了)现有类必须成为抽象类的子类,但是只能单继承,接口可以多继承抽象类小优势抽象类并非一无是处,它的改变就比接口要简易的多,实际使用时也是体验很好的一种设计方法,不过抽象类的使用也要有所衡量,只有在确实是属于一个类别的类时才好去使用抽象类,否则就违背了我们的编程原则接口优点现有类可以很容易被更新,以实现新的接口只需要在接口中添加方法就可以了接口是定义 mixin (混合类型)的理想选择mixin:类除了

2021-05-21 19:34:26 327 2

原创 《Effective Java》阅读笔记 17要么为继承而设计,并提供文档,要么就禁止继承

面向对象编程,从一开始被洗脑难免在上手写代码时都会首先思考有没有公共方法啊,能不能把两个类抽象成一个父类再继承啊等,慎重使用继承,当要使用继承时一定要在文档注释中写明重写这个方法会给其他方法带来什么影响。书中给出建议如果类并不是为了继承而生,那么这个类应该用final修饰禁止子类化。1.继承的缺陷对于为了继承而设计的类,唯一的测试方法就是编写子类。为了继承,类还必须遵守其他一些约束。构造器绝不能调用可被覆盖的方法,无论是直接调用还是间接调用。无论是clone还是readObject,都不可以调用可

2021-05-21 18:01:05 167

原创 一篇让你熟练掌握Java常用工具包(全网最全)

Apache Commons类库在日常工作中,我们经常要使用到一些开源工具包,比如String,Date等等。有时候我们并不清楚有这些工具类的存在,造成在开发过程中重新实现导致时间浪费,且开发的代码质量不佳。而apache其实已经提供了系列的工具包给我们使用,只是大多数人,平时没有注意到。这个系列我将带领大家熟悉这些常用的工具包,让大家熟悉Apache都给我们提供了那些常用的工具类和方法……工具名称作用BeanUtils对Java Bean进行各种操作,复制对象,属性Code

2021-05-20 13:41:54 3687 4

原创 《Effective Java》阅读笔记 15使可变性最小化

1.不可变类的优势不可变类只是其实例不能被修改的类。不可变的类比可变类更加易于设计、实现和使用。它们不容易出错,且更加安全。Java 平台类库包含许多不可变的类,包括 String 类、基本类型包装类以及 BigInteger 类和 BigDecimal 类。 有很多很好的理由:不可变类比可变类更易于设计,实现和使用。 他们不容易出错,并且更安全。2.如何设计不可变类1.不要提供任何会修改对象状态的方法。2.保证类不会被扩展。3.使所有的域都是 final 的。4.使所有的域都是私有的。5.

2021-05-19 20:11:45 236 2

原创 《代码整洁之道》阅读笔记 13并发(编写整洁的并发代码建议)

“对象是过程的抽象,线程时调度的抽象。”——James O Coplien1.为什么要并发1.并发是一种解耦策略,它帮助我们把做什么(目的)和何时做(时机)分解开2.相对于单线程的目的和时机的紧密耦合,解耦目的与时机能明显地改进应用程序的吞吐量和结构3.单线程程序许多时间花在等待web套接字I/O结束上面,通过采用同时访问多个站点的多线程算法,就能改进性能4.同时也存在一些副作用并发总能改进性能:只在多个线程或处理器之间能分享大量等待时间的时候管用编写并发程序无需修改设计:可能与单线程系统

2021-05-10 17:38:53 268

原创 《代码整洁之道》阅读笔记 12迭进

系统的迭代式演进1.通过迭进设计达到整洁目的运行所有测试不可重复表达程序员的意图尽可能减少类和方法的数量以上规则按其重要程序排列2.简单设计原则1:运行所有测试设计必须制造出如预期一般工作的系统,这是首要因素全面测试并持续通过所有测试的系统,就是可测试的系统,不可验证的系统,绝不应该部署上线只要系统可测试,就会导向保持类短小且目的单一的设计方案紧耦合的代码难以编写测试遵循有关编写测试并持续运行测试的简单、明确的规则,系统就会更贴近OO低耦合度、高内聚度的目标,编写测试引致更好

2021-05-08 16:02:12 272

原创 N叉树的最大宽度

这里的思路是N叉树的层序遍历(递归法)/*// Definition for a Node.class Node { public int val; public List<Node> children; public Node() {} public Node(int _val,List<Node> _children) { val = _val; children = _children; }

2021-05-08 10:10:21 422 3

原创 计算器

题目描述给定一个字符串形式的计算表达式,其中只包含数字和加+、减-、乘*、除/四种运算符,乘除计算优先级高于加减。请对该计算表达式求值,并返回计算结果。如果在计算过程中遇到除零,则返回字符串error。解答要求时间限制: 1000ms, 内存限制: 64MB输入输出输入一个字符串形式的计算表达式,长度范围:[1,100]用例保证,输入数字和中间及最终计算结果的值都是整数,且在int型范围内。输出一个10进制整数; 或字符串error样例输入样例11+2*3-100/2输出样例1

2021-05-08 10:01:26 686

原创 手写内存块

题目描述请实现一个简易内存池,根据请求命令完成内存分配和释放。内存池支持两种操作命令,REQUEST和RELEASE,其格式为:REQUEST=请求的内存大小 表示请求分配指定大小内存,如果分配成功,返回分配到的内存首地址;如果内存不足,或指定的大小为0,则输出error。RELEASE=释放的内存首地址 表示释放掉之前分配的内存,释放成功无需输出,如果释放不存在的首地址则输出error。注意:1.内存池总大小为100字节。2.内存池地址分配必须是连续内存,并优先从低地址分配。3.内存释放后

2021-05-08 09:54:00 1296

原创 手写DHCP服务器(实现简单的DHCP服务器)

题目描述DHCP服务器的功能是为每一个MAC地址分配唯一的IP地址。现假设:分配的IP地址范围从 192.168.0.0 到 192.168.0.255 总共256个可用地址(以点分十进制表示)。请实现一个简易的DHCP服务器,功能如下:分配Request:根据输入的MAC地址分配IP地址池中的IP地址:如果对应的IP已分配并未释放,则为重复申请,直接返回对应已分配的IP地址。如果一个MAC地址已申请过并已释放,即:当前未分配IP地址,则为再申请,优先分配最近一次曾经为其分配过的IP地址,请返回此地

2021-05-08 09:50:50 2116

原创 《代码整洁之道》阅读笔记 11系统

“Complexity kills. It sucks the life out of developers, it makes products difficult to plan, build and test.”(复杂要人命,它消磨开发者的生命,让产品难于规划、构建和测试)1.如何建造一个城市1.每个城市都有一组人管理不同的部分,有人负责全局,其他人负责细节2.深化出恰当的抽象等级和模块,好让个人和他们所管理的“组件”即便在不了解全局时也能有效地运转2.将系统的构造与使用分开

2021-05-06 16:35:10 369

j虚拟机 video讲解(最quan的video讲解以及讲义).txt

jvm视频教程,最全的视频教程,可以跟着讲义学习,保准offer到手

2019-09-24

jvm video讲解(最全的视频讲解以及讲义).docx

jvm视频讲解(最全的视频讲解以及讲义).docx,里面有是java虚拟机视频讲解

2019-09-24

matlab (2018最全的anzhuang包以及教程).docx

matlab2018最新的安装包以及安装讲义,亲自实验,保证安装成功,破解版2018matlab

2019-09-24

jianli模板(简历大全).txt

简历模板 [1] 指用来供制作个人简历参考的模板或者范文,包括了编辑一份简历的基本结构。一份标准的简历模板的结构包括基本资料、教育经历、工作经历(实习经历)、自我评价等模块的内容。 用人单位HR一天多的话会收到成千上万份的简历,看一份简历的时间一般只用几十秒。所以简历模板 [2] 必须选择简洁大方且言之有物,模板必须包含各重要基本要素信息,让人力资源部门能在极短的几十秒钟内对你有一个基本印象。 这里提供各种各样的模板

2019-09-24

generatorSqlmapCustom.rar

mybaits需要程序员自己编写sql语句,mybatis官方提供逆向工程 可以针对单表自动生成mybatis执行所需要的代码(mapper.java,mapper.xml、po..)

2019-09-22

数据结构(20集)java版本附源码.txt

数据结构视频,有关数组,链表,栈和队列,树,哈希表,图,排序等数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。

2019-09-15

git视频mianfei完整版.txt

git github学习视频,Git是先进的分布式版本控制系统,而Github是常用的Git代码托管中心。 本套教程内容丰富、详实,囊括:Git安装过程、本地库基本操作、远程基本操作、基于分支的Gitflow工作流、跨团队协作的 Forking工作流、Eclipse中的Git版本控制以及Git对Eclipse特定文件忽略的配置方法。还通过展示Git内部版本管理机制,让你了解 到Git高效操作的底层逻辑。教程的最后完整演示了Gitlab服务器的搭建过程。

2019-09-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除