- Java异常机制学习&分析 处理错误 Java异常层次简要类图 何时声明受查异常 调用一个抛出受查异常的方法,例如, FileInputStream构造器程序运行过程中发现错误,并且利用throw语句抛出一个受查异常程序出现错误,例如,a[-1]=0会抛出一个ArrayIndexOutOfBoundsException这样的非受查异常。Java 虚拟机和... Java异常机制学习&分析 处理错误 Java异常层次简要类图 何时声明受查异常 调用一个抛出受查异常的方法,例如, FileInputStream构造器程序运行过程中发现错误,并且利用throw语句抛出一个受查异常程序出现错误,例如,a[-1]=0会抛出一个ArrayIndexOutOfBoundsException这样的非受查异常。Java 虚拟机和...
- ConcurrentLinkedQueue的定义 ConcurrentLinkedQueue是 非阻塞的单端队列,其是一个通过链表实现的并发安全的队列。是java中并发环境下性能最好的队列,它是使用非阻塞算法(CAS)来实现线程安全的。它采用先进先出的规则对节点进行排序,当我们添加一个元素时,它会添加到队列的尾部;当我们获取一个元素时,它会返回队列头部的元素。 Co... ConcurrentLinkedQueue的定义 ConcurrentLinkedQueue是 非阻塞的单端队列,其是一个通过链表实现的并发安全的队列。是java中并发环境下性能最好的队列,它是使用非阻塞算法(CAS)来实现线程安全的。它采用先进先出的规则对节点进行排序,当我们添加一个元素时,它会添加到队列的尾部;当我们获取一个元素时,它会返回队列头部的元素。 Co...
- 继承 this关键字的用途 引用隐式参数;调用该类其他的构造器。 super关键字的用途 调用超类的方法。调用超类的构造器。 多态 可以通过 is-a规则,它表明子类的每个对象也是超类的对象。例如,每个 经理都是雇员。因此,将Manager类设计为Employee类的子类是显而易见的,反之不然,并不是每一名雇员都是经理。 is-a 规则的另一种表述法是置... 继承 this关键字的用途 引用隐式参数;调用该类其他的构造器。 super关键字的用途 调用超类的方法。调用超类的构造器。 多态 可以通过 is-a规则,它表明子类的每个对象也是超类的对象。例如,每个 经理都是雇员。因此,将Manager类设计为Employee类的子类是显而易见的,反之不然,并不是每一名雇员都是经理。 is-a 规则的另一种表述法是置...
- 调试技巧 可以用下面的方法打印或记录任意变量的值 System.out.print("x="+x) 或者 Logger.getGlobal().info("x="+x)为每个类添加 main 方法,后期要删除单元测试日志代理是一个子类对象,他可以截获方法调用,并进行日志记录,然后调用超类中的方法,例如: 如果在调用Random类的nextDouble方法时出现... 调试技巧 可以用下面的方法打印或记录任意变量的值 System.out.print("x="+x) 或者 Logger.getGlobal().info("x="+x)为每个类添加 main 方法,后期要删除单元测试日志代理是一个子类对象,他可以截获方法调用,并进行日志记录,然后调用超类中的方法,例如: 如果在调用Random类的nextDouble方法时出现...
- 步骤一、下载安装包 a. 因为Java JDK区分32位和64位,所以安装之前需先判断一下我们操作系统为多少位·,命令如下: uname -a 解释:如果有x86_64就是64位的,没有就是32位的。后面是x686或x86_64则内核是64位的,i686或i386则内核是32位的。  ... 步骤一、下载安装包 a. 因为Java JDK区分32位和64位,所以安装之前需先判断一下我们操作系统为多少位·,命令如下: uname -a 解释:如果有x86_64就是64位的,没有就是32位的。后面是x686或x86_64则内核是64位的,i686或i386则内核是32位的。  ...
- 前言 上一篇我们介绍了在并发编程里面导致bug的三种问题,可见性问题,原子性问题,有序性问题。针对这三个问题,Java语言提供了Java内存模型(JMM)来解决这三种问题,主要是针对有序性和可见性问题。其本质上就是按需禁用缓存和编译优化。接下来我们就详细的阐述下。 Java内存模型介绍 Java 内存模型是一个很复杂的规范,本质上可以理解为:Java内存模型规范了... 前言 上一篇我们介绍了在并发编程里面导致bug的三种问题,可见性问题,原子性问题,有序性问题。针对这三个问题,Java语言提供了Java内存模型(JMM)来解决这三种问题,主要是针对有序性和可见性问题。其本质上就是按需禁用缓存和编译优化。接下来我们就详细的阐述下。 Java内存模型介绍 Java 内存模型是一个很复杂的规范,本质上可以理解为:Java内存模型规范了...
- 问题描述: 用import导入了一个MyEclipse项目,但里面的中文都出现了乱码。 解决方案: 方法一:将整个project设置编码UTF-8 【Window】——【Preferences】——【General】——【Workspace】——【Text file encoding】,将之前的【Default(GBK)】改为【Other:UTF-8】。 ... 问题描述: 用import导入了一个MyEclipse项目,但里面的中文都出现了乱码。 解决方案: 方法一:将整个project设置编码UTF-8 【Window】——【Preferences】——【General】——【Workspace】——【Text file encoding】,将之前的【Default(GBK)】改为【Other:UTF-8】。 ...
- 文章目录 前言一些基本的设置说明堆内存溢出Java栈内存异常方法区和运行时常量池溢出直接内存溢出内存泄露内存泄露的定义:解决办法 内存溢出的原因分析:线上内存溢出的处理方法总结 前言 上一篇我们介绍了JVM03–JVM垃圾收集机制的一些基本概念,这一篇介绍一下JVM中各种内存溢出(包括内存泄露)及其处理方法。 本文会按照JVM中内存划分来介绍各种内存... 文章目录 前言一些基本的设置说明堆内存溢出Java栈内存异常方法区和运行时常量池溢出直接内存溢出内存泄露内存泄露的定义:解决办法 内存溢出的原因分析:线上内存溢出的处理方法总结 前言 上一篇我们介绍了JVM03–JVM垃圾收集机制的一些基本概念,这一篇介绍一下JVM中各种内存溢出(包括内存泄露)及其处理方法。 本文会按照JVM中内存划分来介绍各种内存...
- 定义 装饰者模式也称为包装模式(Wrapper Pattern),属于结构型设计模式。 在不改变原类文件以及不使用继承的情况下,动态地将责任附加到对象中,从而实现动态扩展一个对象的功能。它通过创建一个包装对象,也就是装饰来包裹真实对象。 结构类图 角色 抽象组件(Component): 定义装饰方法的规范被装饰者(ConcreteComponent): Co... 定义 装饰者模式也称为包装模式(Wrapper Pattern),属于结构型设计模式。 在不改变原类文件以及不使用继承的情况下,动态地将责任附加到对象中,从而实现动态扩展一个对象的功能。它通过创建一个包装对象,也就是装饰来包裹真实对象。 结构类图 角色 抽象组件(Component): 定义装饰方法的规范被装饰者(ConcreteComponent): Co...
- 今天开始阅读Java集合源码了。重点掌握ArrayList,HashMap的源码 前置问题: HashMap的数据结构是什么?如何实现的。和HashTable,ConcurrentHashMap的区别ArrayList是如何实现的,ArrayList和LinkedList的区别?ArrayList如何实现扩容。 集合框架类图如下图所示: 接下来我们将按照这个... 今天开始阅读Java集合源码了。重点掌握ArrayList,HashMap的源码 前置问题: HashMap的数据结构是什么?如何实现的。和HashTable,ConcurrentHashMap的区别ArrayList是如何实现的,ArrayList和LinkedList的区别?ArrayList如何实现扩容。 集合框架类图如下图所示: 接下来我们将按照这个...
- ExecutorCompletionService类 当我们通过Executor提交一组并发执行的任务,并且希望在每一个任务完成后能立即得到结果,有两种方式可以采取: 方式一: 通过一个list来保存一组future,然后在循环中轮训这组future,直到每个future都已完成。如果我们不希望出现因为排在前面的任务阻塞导致后面先完成的任务的结果没有及时获取的情况,那么在... ExecutorCompletionService类 当我们通过Executor提交一组并发执行的任务,并且希望在每一个任务完成后能立即得到结果,有两种方式可以采取: 方式一: 通过一个list来保存一组future,然后在循环中轮训这组future,直到每个future都已完成。如果我们不希望出现因为排在前面的任务阻塞导致后面先完成的任务的结果没有及时获取的情况,那么在...
- 今天刚刚学了Java文件操作,跟着老师的思路,迫不及待的制造了这个小病毒。 用到的是一些小知识,很简单。 创建文件和文件夹,向文件中写入字节。 我已渐渐的爱上了编程!!! 下面附上完整代码: import java.io.File; import java.io.FileOutputStream; import java.io.IOException; /**... 今天刚刚学了Java文件操作,跟着老师的思路,迫不及待的制造了这个小病毒。 用到的是一些小知识,很简单。 创建文件和文件夹,向文件中写入字节。 我已渐渐的爱上了编程!!! 下面附上完整代码: import java.io.File; import java.io.FileOutputStream; import java.io.IOException; /**...
- 做自己的类加载器 虚拟机的核心是通过类加载器来加载.class文件,然后进行相应的解析执行。那么我们可以自己做类加载器,手动加载需要的.class以进行解析执行,从而扩展虚拟机的功能。 以下内容摘自API文档: 应用程序需要实现 ClassLoader 的子类,以扩展 Java 虚拟机动态加载类的方式。 网络类加载器子类必须定义方法 findClass 和 ... 做自己的类加载器 虚拟机的核心是通过类加载器来加载.class文件,然后进行相应的解析执行。那么我们可以自己做类加载器,手动加载需要的.class以进行解析执行,从而扩展虚拟机的功能。 以下内容摘自API文档: 应用程序需要实现 ClassLoader 的子类,以扩展 Java 虚拟机动态加载类的方式。 网络类加载器子类必须定义方法 findClass 和 ...
- package cn.hncu.chx1; import java.awt.BorderLayout; import java.awt.Button; import java.awt.Color; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.GridLayout; import ... package cn.hncu.chx1; import java.awt.BorderLayout; import java.awt.Button; import java.awt.Color; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.GridLayout; import ...
- 刚刚学完Socket,迫不及待的做了这个网页邮箱抓取~~~ 自己以前做过微商,而且还掏钱买过抓取网络邮箱的软件~现在O(∩_∩)O哈哈~我自己做~当然啦,没有别人做得好~只是功能还是差不多啦~ 给一个带协议的网站~然后深入网页中查找邮箱~ 因为博主知识有限~线程池目前还没有学~导致无法控制线程~~~见谅~ 还有~就是没有设置停止按钮~也是因为没学线程池~水平不够... 刚刚学完Socket,迫不及待的做了这个网页邮箱抓取~~~ 自己以前做过微商,而且还掏钱买过抓取网络邮箱的软件~现在O(∩_∩)O哈哈~我自己做~当然啦,没有别人做得好~只是功能还是差不多啦~ 给一个带协议的网站~然后深入网页中查找邮箱~ 因为博主知识有限~线程池目前还没有学~导致无法控制线程~~~见谅~ 还有~就是没有设置停止按钮~也是因为没学线程池~水平不够...
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中
热门标签