title: Java-for循环那些事 toc: true date: 2019-05-21 10:28:44 categories: Java tags: - Tips --- Java for循环里面的 i++ 与 ++i 在for循环里两者的作用是一样的 i++ for(int i=0; i<5; i++){ System.out.print(i + ","); } >> 0, 1, 2, 3, 4 ++i for(int i=0; i<5; ++i){…
Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所以JDK 最好下载 JDK 9以上的版本. 异常 当充分发挥异常的优势时,它可以提高程序的可读性.可靠性和可维护性.如果使用不当,则会产生相反的效果.本章提供了有效使用异常的指南. 69. 仅在发生异常的条件下使用异常 有一天,如果你运气不好,你可能会偶然发现这样一段代码: // Horrible…
一.概念和分类 JAVA程序设计语言中,异常对象都是Throwable类的一个实例.Throwable分为Error和Exception. 其中,Error类层次结构描述了JAVA运行时系统的内部错误和资源耗尽错误,这种错误无法操作.在设计JAVA程序时,我们只需要关注Exception. Exception包含两个分支: RuntimeException 其他异常. 划分两个分支的规则是:由程序错误导致的异常属于RuntimeException:而程序本身没有问题,但由于I/O错误这类问题导致…
由于JavaWeb应用业务逻辑的复杂性,容易发生一些意想不到的错误和异常,给系统的调试带来不必要的麻烦,不友好的提示信息使编程者对错误和异常无从下手.特别是当发生异常时,Java异常栈输出的信息只能给程序员来看,是绝对不能展示给用户的.而且一旦项目发布成最终版本运行时,也十分有必要跟踪和记录所发生的错误和异常的详细信息,并返回一个特定的友好界面给用户. 在传统的JavaWeb应用中,应用程序通常是采用硬编码的方式来避免将要发生的错误和异常,对应用程序中的异常经常使用try…catch语句进行处理…
在阅读<阿里巴巴Java开发手册>时,发现有一条关于在 foreach 循环里进行元素的 remove/add 操作的规约,具体内容如下: 错误演示 我们首先在 IDEA 中编写一个在 foreach 循环里进行 remove 操作的代码: import java.util.ArrayList; import java.util.List; public class ForEachTest { public static void main(String[] args) { List<S…
作为一位初学者, 本屌也没有能力对异常谈得很深入.   只不过Java里关于Exception的东西实在是很多. 所以这篇文章很长就是了.. 一, 什么是java里的异常   由于java是c\c++ 发展而来的,  首先我们先看看c语言里的错误.   1.1 c语言里的错误         我们实现1个程序的过程包括,  代码编写, 编译代码成为程序,  执行程序. .           其中大部分常见的语法错误都会被编译代码这样部过滤掉.   但是即使通过了编译. 执行程序这一步可能还是会…
Java问题记录——循环里的二次判断与状态更新 摘要:本文主要记录了在循环操作时可能出现的问题. 问题重现 在使用循环结构时,如果使用了定时任务,或者代码会多次调用循环结构,可能会导致有些对象会被循环多次. 举例来说,如果有一个结账的代码,每五分钟会执行一次: @Scheduled(cron = "0 0/5 * * * ?") @Async public void handle(){ List<Customer> list = customerDao.listCustom…
所有锁的unlock要放到try{}finally{}里,不然发生异常返回就丢了unlock了…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是IVT里的不同entry设置可能会造成i.MXRT1xxx系列启动App后发生异常跑飞问题的分析解决经验. 事情缘起恩智浦官方论坛上的一个疑问帖 <RT1015 dev_cdc_vcom_freertos reset entry failed>,这是客户QISDA遇到的问题,由痞子衡的同事 - 非常细心负责的Kerry小姐姐将问题整理出来并发了贴,帖子里做了详尽的问题描述以及各种测试结果.看完长帖后,痞子衡第一猜想就是跟App栈设…
foreach循环 ​    foreach循环(Foreach loop)是计算机编程语言中的一种控制流程语句,通常用来循环遍历数组或集合中的元素.Java语言从JDK 1.5.0开始引入foreach循环.在遍历数组.集合方面,foreach为开发人员提供了极大的方便.通常也被称之为增强for循环. ​    在日常开发中,foreach循环用的非常多,但是有一点要非常小心,就是不能在这个循环里对数组或者集合里的元素进行remove或者add操作,否则会抛出java.util.Concurr…