01. JUnit 第一个要说的当然是JUnit了,JUnit毕竟是Java圈目前最知名及常用的测试框架.JUnit之所以能够成为Java圈中最热门的测试库,是因为对于很多项目而言,单元测试是非常重要的.优点有很多 比如,给开发者提供了简洁的图形界面,可以轻松地写出可重复测试的代码,允许并发同时执行,还允许开发者创建测试套件 (Test Suite) 来查看.检测整体的测试进度及测试期间发生的副作用等. 02. SLF4J SLF4J或Simple Logging Facade for Java…
20172319 2018.10.12 <Java程序设计教程>第6周课堂测验 课程:<程序设计与数据结构> 班级:1723 学生:唐才铭 学号:20172319 指导老师:王志强 日期:2018.10.12 必修/选修:必修 目录 测试内容 测试要求 实验步骤 需求分析 代码实现及解释 程序运行结果及代码截图 测试过程及遇到的问题 代码链接 参考资料 测试内容 已知线性表具有元素{5,13,19,21,37,56,64,75,80,88,92},如果使用折半查找法,ASL是多少?…
Error:(12, 64) java: 未报告的异常错误java.io.IOException; 必须对其进行捕获或声明以便抛出 package com.test; import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder; import java.io.Inp…
第12章 Java内存模型与线程 Java内存模型  主内存与工作内存: java内存模型规定了所有的变量都在主内存中,每条线程还有自己的工作内存. 工作内存中保存了该线程使用的主内存副本拷贝,线程对变量的所有操作都必须在工作内存中进行. 内存间交互操作: 1 lock 作用于主内存的变量,它把一个变量标识为一个线程独占的状态. 2 unlock 作用于主内存的变量,把锁定的变量释放出来 3 read 作用于工作内存的变量,把一个变量的值从主内存传输到线程的工作内存中. 4 load 作用于工作…
Java长存!12个Java长久占居主要地位的原因 我们很容易就会遗忘那些曾经在猿群中大热而又被各种新技术掩盖直至堙灭的技术的价值.就拿COBOL这个老猿们当年所用的神器来说,就跟条死鱼一样被现代猿基本这么形容:没价值,腥臭,过时了,对你没好处.Java 作为现代猿的中坚力量在这点上可能会成为下一个COBOL. 有关JAVA的技术卖出多少本书已经是一个很久远的记忆了.现处中年时期的Java语言的用途已经不再出现在各种杂志的封面上了.JAVA从出生到现在已经19年了,应用开发圈已经开始绕着那些更有…
1.java.lang.NullpointerException(空指针异常) 原因:这个异常经常遇到,异常的原因是程序中有空指针,即程序中调用了未经初始化的对象或者是不存在的对象. 经常出现在创建对象,调用数组这些代码中,比如对象未经初始化,或者图片创建时的路径错误等等.对数组代码 中出现空指针,是把数组的初始化和数组元素的初始化搞混淆了.数组的初始化是对数组分配空间,而数组元素的 初始化,是给数组中的元素赋初始值 2. java.lang.ClassNotFoundException(指定的…
<深入了解java虚拟机>高效并发读书笔记--Java内存模型,线程,线程安全 与锁优化 本文主要参考<深入了解java虚拟机>高效并发章节 关于锁升级,偏向锁,轻量级锁参考<Java并发编程的艺术> 关于线程安全和线程安全的程度参考了<Java并发编程实战> 图片参考https://www.processon.com/u/5dee0443e4b093b9f775065c#pc 一丶Java内存模型 1.概述 多任务处理已经是操作系统的必备技能,计算机被要求…
1, substring截取超大字符串可能造成的“内存泄漏” 2,+ 操作符的优化和局限 3,StringBuilder和StringBuffer 4,split和StringTokenizer做简单字符分割效率的比较 1, substring截取超大字符串可能造成的“内存泄漏” 我们知道,String对象内保存着一个char数组.但是char数组未必和String所代表的字符集等长,而可能是一个“超集”.String有一个私有的构造函数: // Package private construc…
1.使用JavaApi文档中的Arrays类中的sort()进行快速排序 首先我们直接看代码如下: package himi.text; import java.util.Arrays; public class TestDemo01 { public static void main(String[] args) { int[] array = {2,12,3,44,27}; /** * 利用使用JavaApi文档中的Arrays类中的sort()进行快速排序 */ Arrays.sort(a…
问:当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?  答:是值传递.Java 编程语言只有值传递参数.当一个对象实例作为一个参数被传递到方法中时,参数的值就是该对象的引用一个副本.指向同一个对象,对象的内容可以在被调用的方法中改变,但对象的引用(不是引用的副本)是永远不会改变的. Java参数,不管是原始类型还是引用类型,传递的都是副本(有另外一种说法是传值,但是说传副本更好理解吧,传值通常是相对传址而言). 如果参数类…