Java
文章平均质量分 52
Coder_Chang
死码字的
展开
-
-了解并发
为什么要并发?并发是一种解耦策略,它帮助我们把做什么(目的)和何时做(时机)分解开。解耦目的与时机能明显的改进应用程序的吞吐量和结构。从结构的角度看,应用程序看起来更像是许多台协同工作的计算机,而不是一个大循环。系统因此会更被易于理解。关于编写并发软件的中肯说法并发会在性能和编写额外代码上增加一些开销 正确的并发是复杂的,几遍对于简单的问题也是如此 并发缺陷并非总能重现,所以常被看做偶发事件而忽略 并发常常需要对设计策略做根本性修改并发防御原则单一权责 限制数据作用域两原创 2022-02-06 22:27:29 · 869 阅读 · 0 评论 -
通过迭代使代码整洁
使得系统变得整洁的4条规则:运行所有测试; 不可重复; 表达了程序员的意图; 尽可能减少类和方法的数量;其中1为测试规则,234为重构规则。1. 运行所有测试紧耦合的代码难以编写测试,只要系统可以测试,就会导向保持类短小且目的单一的设计方案。不可测试的系统就无法验证,也绝不应该部署。2.重构不可重复重复是拥有良好设计的系统的大敌,它代表着额外的工作、额外的风险和额外且不必要的复杂度。重复有多重表现,极其雷同的代码行也是重复。小规模服用可以大量降低系统的复杂性。表达力原创 2022-01-05 00:35:17 · 141 阅读 · 0 评论 -
java类
遵循标准的java类,应该从一组变量列表开始,吐过有公共静态常量,应该先出现,然后是私有静态变量,以及私有实体变量。很少有公共变量。类的第一条规则是应该短小,类的名称应当描述其全责。类名越含糊,该类越有可能拥有过多的全责。单一权责原则认为,类或模块应该有且只有一套加以修改的理由。系统应该由许多短小的类而不是少量巨大的类组成。每个小类封装成一个权责,只有一个修改的原因,并与少数其他类一起协同达成期望的系统行为。类应该只有少数实体变量,类中的每个方法都应该操作一个或多个这种变量,通常而言,方法操作的原创 2021-12-22 00:04:50 · 398 阅读 · 0 评论 -
单元测试(摘抄)
什么是单元测试极限编程(Extreme Programming,或简称XP)讲究TDD(test-driven development),即测试驱动开发,先编写测试代码,再进行开发。有一套运行通过的测试,我会确保任何需要用到代码的人都能方便的使用这些测试,并且确保测试代码一起签入同一个代码包。TDD三定律第一定律 在编写不能通过的单元测试前,不可编写生产代码第二定律 只可编写刚好无法通过的单元测试,不能编译也算不通过第三定律 只可编写刚好足以通过当前失败测试的生产代码保持原创 2021-12-21 23:56:30 · 217 阅读 · 0 评论 -
异常错误处理摘抄(java)
不会java,先将书中的重点摘抄一下。错误处理很重要,但如果它搞乱了代码逻辑,就是错误的做法。异常的妙处之一是,它们在程序中定义了范围。try-catch-finally语句中try部分的代码时,你是在表明可以随时取消执行,并在catch语句中接续。如果你在编写一套关键词代码库,则已检异常有时也会有用:你必须捕获异常。但对于一般的应用开发,其依赖成本要高于收益。你抛出的每个异常,都应当提供足够的环境说明,以便判断错误的来源和位置。对于代码的某个特定区域,单一异常类通常可行。伴随异常发原创 2021-12-06 21:56:35 · 321 阅读 · 0 评论 -
对象和数据结构
先描述一个现象:我们将变量设置为私有(private)有一个理由,不想让外界依赖这些变量。那么为什么还有程序员给该对象添加赋值器(setter)和取值器(getter)呢?将私有变量公之于众,如同他们是公共变量一般。事实上,即使变量都是私有的,但我们也通过变量取值器和赋值器使用变量,其实现也被暴露了。然后我们来看两份代码,他们实现了相同的功能,但在扩展时会有不同的问题:过程式代码 1对象式代码 2如果给代码1的Geometry类添加一个新的函数,其形状类完全不受影响。另一方面,.原创 2021-11-24 20:32:37 · 590 阅读 · 0 评论 -
Java知识细化
1.向上转型A a=new B(); //A是B的父类向上转型,通俗点就是说先创建一个B子类对象,然后把它强制转型为A类对象。所以A类A1()方法被子类B中的A1()方法覆盖,而子类中的B2()丢失。由于B与A是继承关系,所以A中的私有属性不会被继承,强转为A类对象时该父类类型的引用不能调用父类的私有属性。该特点体现了java的多态性。定义一个父类类型的引用指向一个子原创 2016-10-06 05:40:09 · 565 阅读 · 0 评论 -
Java关键字
常用关键字、访问权限、this/super、final、static原创 2016-07-05 11:17:32 · 440 阅读 · 0 评论 -
Java JPanel的getSize()方法 有时候得到的结果为0 的原因(涉及语句顺序、paint方法的调用)
代码执行顺序paint方法的调用时机原创 2016-07-16 00:32:08 · 4385 阅读 · 0 评论 -
Java轻量级组件和重量级组件
先介绍两个定义组件:一般都是已编译好的类,对外只提供接口。容器:为某些组件的运行提供必要运行支持的一个软件环境。如Web容器为Servlet和JSP组件提供运行环境,EJB容器为EJB组件提供运行环境。而一般来说这些组件无法脱离这些容器单独运行。量级主要是看容器的依赖性所决定的,依赖性越小,越轻量在Java 应用程序开发环境中,“轻量级Java”主要是指两个转载 2016-07-16 01:32:37 · 3131 阅读 · 0 评论 -
Java使背景图片自适应窗体的办法
添加一个面板,窗体布局设置为BorderLayout.center或者null都可以。在面板上进行重绘的时候,调用用 面板.getsize().getHeight和getWidth方法来设置背景图片大小;只限制图片的宽度或者高度时,将另一个参数设置为定值。此时进行窗体拉伸,图片会跟窗体一起等比例放大,不会出现窗体空白的情况。代码示例public void paint(Graph原创 2016-07-16 00:10:53 · 12835 阅读 · 3 评论 -
Java异常体系
Error Exception throws throw try catch fianlly原创 2016-07-09 17:14:06 · 516 阅读 · 0 评论 -
Java基础——名词解释
1)类与对象2)面向对象3)基本语法4)构造器(构造方法)5)方法重载6)继承(子类和父类)7)方法重写8)转型:父类引用指向子类引用9)多态10)当前类对象this原创 2016-05-29 15:49:19 · 5933 阅读 · 0 评论