//一段优美的例子 import java.util.Scanner; import java.util.InputMismatchException; public class DevideByZeroWithoutNoException1{ public static int quotient(int numerator,int denominator) throws ArithmeticException { return numerator/denominator; } public s…
前言 <Java I/O 从0到1>系列上一章节,介绍了File 类,这一章节介绍的是IO的核心 输入输出.I/O类库常使用流这个抽象概念.代表任何有能力产出数据的数据源对象或者是有能力接受数据的接收端对象. 流 屏蔽了实际的I/0设备中处理数据的细节.Java类库中的I/O类库分为输入输出两部分.InputStram或Reader 派生而来的类都含有 read() 基本方法,用于 读 取单个字节或者字节数组.同样,任何自OutputStream或Writer 派生而来的类都含有名为write…
<java.util.concurrent 包源码阅读>系列文章已经全部写完了.开始的几篇文章是根据自己的读书笔记整理出来的(当时只阅读了部分的源代码),后面的大部分都是一边读源代码,一边写文章. 由于水平有限,在阅读源代码的时候,分析得也比较浅显,还有很多地方自己也没有研究明白,有的地方显得语焉不详,只能请各位多多见谅了. 后面会继续写一些关于Java并发编程的文章,希望各位多多指教. 这里整理了一个简单的目录,包含了本系列所有文章的链接: <java.util.concurrent…
这一部分来说说线程池如何进行状态控制,即线程池的开启和关闭. 先来说说线程池的开启,这部分来看ThreadPoolExecutor构造方法: public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, ThreadFactory threadFactory, RejectedExecut…
前言 File 类的介绍主要会依据<Java 编程思想>以及官网API .相信大家在日常工作中,肯定会遇到文件流的读取等操作,但是在搜索过程中,并没有找到一个介绍的很简洁明了的文章.因此,在最近比较轻松的时间里做一个关于 <Java I/O 从0到1>系列.规划是包括以下几个方面:File类.字节流.字符流.字节字符的组合使用.编码示例以及JDK1.4 推出的为了提高性能增加了功能的nio类(新I/O).那么,接下来,进行File 的介绍. File 从File 的字面意思来讲,就…
1.<java程序员上班那点事>笔者对数组占用内存的描述 2.实际测试情况: /** * 测试一维数组占用内存 */ public static void testOneArray() { System.out.println("当前虚拟机的最大内存:" + Runtime.getRuntime().maxMemory() / 1024 / 1024 + "m------" + Runtime.getRuntime().maxMemory() + &qu…
写这个专栏的缘起 之前我写过一篇博客:<朱晔的互联网架构实践心得S2E2:写业务代码最容易掉的10种坑>,引起的关注还是挺多的.后来和极客时间的编辑一拍即合决定以这个为题写一个专栏.其实所谓坑就是容易忽略但是不容易发现的问题,大部分生产事故都是发布.运维相关的配置引起,真正代码中的问题上线后产生问题的坑并不多,虽然我接触过很多生产事故,但是能提炼出写代码的坑的点不多.所以在内容整理方面我花了很多时间,最终我总结出100+的点,形成了这样一个30+文章的专栏. 专栏名字叫<Java业务开发…
最近,阿里的<Java开发手册>又更新了,这个版本历经一年的修炼,取名:<Java开发手册(泰山版)>正式出道. 正所谓无规矩不成方圆,在程序员的世界里,也存在很多规范,阿里出版的Java开发手册就是其中之一,从各个方面都约束了程序员该如何有规矩的写代码,以及如何写好代码. 据官方描述,本次共计新增 34 条规约,修改描述 90 处,其中错误码规则更是第一次提出完整的解决方案. 下面栈长带大家来预览下重点要关注下的地方: 1.集合处理的两个坑 这个说的是 JDK8 中的 strea…
第一章:Java EE 概述 1.get:JPA:Java Persistence API, 数据持久化API: JPA是一种ORM规范,它的实现实例:Hibernate.mybatis 2.Web service:实现应用程序间跨平台.跨语言的进行HTTP通信. 也是一种规范哦,定义了应用程序间如何通过http协议进行互操作. 3.DI和IOC一回事. 4.泛型:编译时类型和运行时类型.  避免强制类型转换. 5.可维护性:需求变动,改动好改! 可重用性:代码重用,满足多种需求. 6.JSP:…
//static关键字: /* 静态方法的使用注意事项: 1,静态方法不能访问非静态的成员. 但是非静态是可以访问静态成员的. 说明:静态的弊端在于访问出现了局限性.好处是可以直接别类名调用. 2,静态方法中不允许出现this,super关键字. 为什么不行呢? 原理揭秘: 1,静态是随着类的加载就加载了,也是随着类的消失而消失了. 2,静态优先于对象存在,被对象共享. 3,因为静态先存在于内存中,无法访问后来的对象中的数据.所以静态无法访问 非静态,而且内容无法书写this,因为这时对象有可能…