@Test public void testPostDemo() { // 1. 创建一个http工具类,作用类似浏览器 CloseableHttpClient client = HttpClients.createDefault(); try { // 2.获取 uri URIBuilder uriBuilder = new URIBuilder("http://localhos
之前写代码的时候经常会对之前的代码进行修改。在过程中很多之前写的代码“舍不得删”,必须狠狠地记住! 关于异常处理: 1. 这个问题之前碰到的时候也会不知道啥时候偶尔进行try catch环绕,需要注意一下使用范围。 2. finally 块必须对资源对象、流对象进行关
异常 异常的分类 异常的处理 异常处理的作用 为了描述程序中不正常的操作 异常产生的原因 逻辑的不严谨,出乎意料的操作,不能穷举尽所有的可能 处理异常的目的 为了程序能在出现异常时,其他功能不受影响 异常的处理方式: 1.JVM处理 JVM处理异常的过程: 1).打印异常的
1、JUC JUC是java.util.concurrent的简写,Java的线程处理类。 2、Synchronized synchronize是Java只中的关键字,是一种同步锁。 底层实现 获取锁时,执行monitor enter,计数器+1,释放锁时,执行monitor exit,计数器-1。 当计数器为0时,则当前锁空闲,可占用,反之则进入等待状态。 特性 原
异常 1.什么是异常 引言 实际工作中,遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入不一定符合你的要求;你的程序要打开某个文件,这个文件可能不存在或者文件格式不对;你要读取数据库的数据,数据可能是空的等;我们的程序再跑着,内存或硬盘可能满了。等等... 什么是
1 public static String getImageStr(String imgFile) { 2 // imgFile = "E:/文档/数据/abc.jpg"; 3 InputStream in = null; 4 byte[] data = null; 5 // 读取图片字节数组 6 try { 7 in = new FileInputStream
// 定义promise中的三种状态 const STATUS_PENDING = "pending"; const STATUS_FULFILLED = "fulfilled"; const STATUS_REJECTED = "rejected"; // 定义promise的类 class myPromise { //class的构造函数,接受新建实例时的参数:executor在promise中是一个函数 construct
1、先执行try中的代码块,再执行catch中的代码块,最后执行finally中的代码块,try中可以有多个catch,范围从小到大。 2、受检异常(checked):又叫编译期异常。 在写代码就必须手动进行捕获处理。 非受检异常(unchecked):又叫运行期异常。指在写代码是不检查的异常,如零除,数组越界、空
public static List excelSortLoanNo(List list) { Predicate<list> singleOrNot = equalsList -> equalsList.size() > 1; //可针对三种情况导出列表,对导出的借据号重复的放在一起(并提示与哪一行重复),为null的排除 List listVisiable = list.stream(
再正常的程序运行的过程中,这个里面的代码都是会被正常的执行的, 但是存在一写特殊的情况, finally 里面的代码是不会被执行的: 1、程序所在的线程被终止 2、Java 虚拟机发生了某种错误,停止了工作 3、运行 Java 程序的主机死机 其他情况下都是可以正常执行的,在 try catch 块中写 retur
传送门QAQ Analysis 半个月来第一次写博客,真的不能懒下去了QAQ 观察到数据范围为 \(n \le 5000\),显然可以用 \(O(N^2)\) 随便做。 题解里有不少 SAM 的,还看到一个相当简洁的 hash 表做法,但窝比较喜欢 SA,所以参考 SA 那篇题解写了这题。 首先是 SA 比较经典的套路:将两个字符串合在
自定义异常 继承Exception类 处理运行时异常时,采用逻辑去合理规避同时辅助try catch处理 在多重catch块后面,可以加一个catch(Exception)来处理可能会被遗漏的异常 对于不确定的代码,也可以加上try catch 尽量处理异常,不要只用自动生成的printStackTrace()打印输出 具体如何处理
线程中的异常可以使用 std::rethrow_exception 抛给主线程 问题分析:一个线程中抛出的异常是没法被另一个线程捕获的。假如我们在主线程中创建一个子线程,子线程中的函数抛出了异常,主线程的 catch 是不会触发,如下, #include<iostream> #include<thread> #include<exception> #includ
try {}里有一个 return 语句,那么紧跟在这个 try 后的 finally {}里的 code 会不会被执行,什么时候被执行,在 return 前还是后? package com.test; public class Test1 { public static void main(String[] args) { try { System.out.println(new Test1().t
Android 客户端 代码 package com.example.udp; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.In
ExecutorService threadPool = Executors.newFixedThreadPool(6); List<AppDocFileUploadDto> files = fileUploadDto.getDocumentlist(); List<CompletableFuture<Void>> result = files.stream().map(fileDto -> CompletableFut
异常起步 public class TestUtil { public static void main(String[] args) { excepTest1(); excepTest2(); System.out.println("main 方法没有捕获异常,不会继续执行"); } public static void excepTest1(){ /** * 发生
public static void main(String[] args) { FileInputStream fis=null; try { fis=new FileInputStream("D:\\File\\data.txt");// 循环读 int i=0; while ((i=fis.read())!=-1){ S
题面 虽然 \(n,m\leq 5000\),但是这题是 \(O((n+m)|\Sigma|)\) 的。首先建 \(S\) 的 SAM,拿 \(T\) 上去跑可以得到 \(T\) 每个前缀的匹配区间(在 \(S\) 中只出现一次)。接着建 \(T\) 的 SAM,也可以求出每个前缀在 \(T\) 中只出现一次的区间。做一个区间交,取一个全局 \(\min\) 即可。
下面介绍的是JUC包下一些线程安全类的一些简单使用和一些小demo。 Semaphore 信号量,即可以同时使用的线程数,tryrequire就是将信号量减一,release就是信号量+1,当等于0就会阻塞,大于零才会唤醒。 当需要控制线程访问数量,可以使用信号量来做控制,比较简单。 下面是使用信号量改进的数据
/** * 异常处理 一 分类 Throwable Error(不要处理Error错误) AWTError IOError LinkageError ThreadDeath Exception(分为两大类check和RuntimeException异常,它们都可以显式处理和throws声明处理) checked不是运行时异常的异常就是check异常,注
前几天面试,遇到一些异常的问题,所以做一下总结: 一、异常的分类: ps:来源idea,快捷键:ctrl + alt + u 异常的父类是Throwable,下面区分两个: Ⅰ、Error,错误,通常是指程序无法处理的异常,系统会处理,一般指的是硬件异常,如:OutOfMemoryError、StackOverflowError等 Ⅱ、Exception,异常,这是我
Error和Exception 异常体系结构 java把异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类 在java API已经定义了很多异常类,这些异常类分为两大类,错误Error和异常Exception 捕获和抛出异常 异常处理五个关键字: try catch finally throw throws public stat
package com.zjh.email.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import com.zjh.email.entity.User; import com.zjh.email.util.DbUtil; public class UserDao { public voi
package com.exception.demo01;public class demo01 { public static void main(String[] args) { try{new demo01().a();}//StackOverflowError异常 catch (Throwable e){ System.out.println("程序出现异常"); } //System.out.