![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 65
零怀念
发抖
展开
-
Eclipse 运行出现java.lang.NoClassDefFoundError的解决方法
今天eclipse运行maven 项目时又出现了java.lang.NoClassDefFoundError错误。记得上一次出现这个错误是因为jar包版本冲突的问题。但是这次的该jar包只引入了一个版本,肯定不会是冲突的问题。我看了下我的libraryes下的maven dependencies是有这个jar包的,所以编译能通过。所以百度了一下。下面引入别人的博客:最近发现一个问题,有时候对一个Android项目反复的Add jar和remove jar,发现编译可以通过,但是运行起来当应用到外部j原创 2021-10-11 10:17:37 · 7444 阅读 · 4 评论 -
Java读取其他jar包里的配置文件
最近要做个东西,需要自己控制数据库的事物,项目封装的框架,实在是提不起去阅读的兴趣,就想直接去读框架的底层实现里面的数据连接的配置文件(如:Url,port,username,password等),使用JDBC创建数据连接,拿到Connection后,事物就好办了。找到在一个A.jar包里面的根目录,有配置文件B.properties,里面有需要的配置。难点就来了,Properties可以加载src下面的properties文件,直接prop.load(this.getClass().get转载 2021-03-05 10:00:59 · 969 阅读 · 1 评论 -
Java对象序列化
什么是对象序列化?对象序列化是指将对象转换为二进制数据流的操作,从而使对象的状态信息转换为可以存储或传输的形式。通俗点,我觉得就是把对象的状态转换为一个字符串(这个字符串是乱码的,谁也看不懂)。为什么要有对象序列化?比如我们创建了一个对象:Book book=new Book("你好 旧时光");当这句代码运行的时候,我们的程序会在内存开辟一个堆内存保存new出来的这个boo...原创 2018-10-05 16:47:04 · 147 阅读 · 0 评论 -
JAVA——有关日期时间的各种类
在java中有很多有关日期时间操作的类,这些类之间有什么关系和区别呢?首先,来了解一下它们之间的继承结构。一、java.util.Date构造方法public Date()//当前时间public Date(long date)//参数date是自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数。常用方法1.把此 Date 对象转换为以下形式的 S...原创 2018-10-06 15:18:29 · 3138 阅读 · 4 评论 -
生产者与消费者问题
生产者与消费者问题引出有这么一个类Info,它拥有两个属性:name和desc。name代表名字,desc代表描述信息。有一个生产类Producer,专门生产Info对象,为其设置name和desc属性值;还有一个消费者类Customer,专门消费Info对象,读取Info对象的name和desc值。生产类和消费者类各自的线程启动。以下是代码:class Info{ privat...原创 2018-10-16 10:05:21 · 158 阅读 · 0 评论 -
认识枚举类
在认识枚举之前,首先要了解多例设计模式,因为枚举是高级的多例设计。多例是一个类自己创建有限多个实例化对象,而不能由外界new,所以多例类的构造方法不能用public,看一个多例模式的示例:public class Color { private String title; private static final Color RED=new Color("红色"); ...原创 2018-12-08 11:08:49 · 104 阅读 · 0 评论 -
Annotation自定义注解
自定义注解示例:import java.lang.annotation.*;@Target(value = {ElementType.METHOD,ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Inheritedpublic @interface MyFactory { String name() default ...原创 2018-12-10 11:39:45 · 146 阅读 · 0 评论 -
为什么if中null要写在前面
常常见到if(null==object)这种形式,不禁产生疑惑,为什么不写成object==null?把null写左边其实可以防止编程出现的低级错误。if(object == null)这个语句有时候没注意就会写成:if(object = null),少了个等号这样在Java中编译是不会出错的,但是会导致运行结果错误。但是你把null写在左边,null其实相当于一个常量,你对常量赋值编译...转载 2019-01-10 17:20:58 · 6431 阅读 · 2 评论 -
Java中的Type接口和Class类有什么区别
Type是Class的父接口。Type 是 Java 编程语言中所有类型的公共高级接口。它们包括原始类型、参数化类型、数组类型、类型变量和基本类型。 这里举个当Type是参数化类型的例子:public class B<T,K> {}package test;public class Book extends B<String,Integer>{...原创 2019-01-09 11:22:29 · 7321 阅读 · 0 评论 -
Java对象序列化为什么要使用SerialversionUID
1、首先谈谈为什么要序列化对象把对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为对象的过程称为对象的反序列化。 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中; 2) 在网络上传送对象的字节序列。 在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存。比如最常见的是Web服...转载 2019-01-22 14:13:40 · 723 阅读 · 0 评论 -
异常的捕获及处理
异常捕获的基本流程public class Main { public static void main(String[] args) { int[] array=new int[1]; int a=10,b=0; //除法异常被第一个catch捕获 try{ a=a/b; }...原创 2019-01-16 23:21:52 · 704 阅读 · 0 评论 -
使用BigDecimal解决精度问题
先来看一下以下几行代码运行的结果:public class Test{ public static void main(String[] arg){ int a=3; double b=3.3; double c=a*b; System.out.println(c); }}运行结果:9.8999999...原创 2019-05-17 13:16:04 · 5073 阅读 · 0 评论 -
扫描流——Scanner类
BufferedReader类方便了对大文本数据文件的读取操作,但是它存在两个问题:读取数据的时候只能按照字符串返回:public String readLine() throws IOException。 分隔符是固定的,以换行作为分隔符。于是,就有了Scanner类来解决所有输入流的操作问题。Scanner的构造方法(其中两个):public Scanner(File sou...原创 2018-10-05 12:28:07 · 389 阅读 · 1 评论 -
缓冲输入流——BufferedReader
BufferedReader的继承结构:java.lang.Object java.io.Reader java.io.BufferedReaderBufferedReader的构造方法:public BufferedReader(Reader in)BufferedReader有一个重要的方法,以换行符为分隔符,返回字符串形式的内容:public Str...原创 2018-10-05 10:16:12 · 434 阅读 · 0 评论 -
java字节流与字符流
字节输出流——OutputStream(程序——>文件)OutputStream是一个抽象类,需要子类来初始化实例。已知直接子类有FileOutputStream。除了close()和flush()方法(任何涉及流的操作都需要关闭close),Outputstream的写入输出流(byte字节或byte数组->输出流->文件)有三个重载方法:public abstra...原创 2018-07-31 20:07:10 · 226 阅读 · 0 评论 -
Java 线程wait()之后一定要notify()才能唤醒吗?
研究这个问题之前先要搞清楚线程有哪些状态?1. 新建状态(New) : 线程对象被创建后,就进入了新建状态。例如,Thread thread = new Thread()。2. 就绪状态(Runnable): 也被称为“可执行状态”。线程对象被创建后,其它线程调用了该对象的start()方法,从而来启动该线程。例如,thread.start()。处于就绪状态的线程,随时可...原创 2018-07-27 21:22:07 · 10423 阅读 · 1 评论 -
java反射
如何获得Class类对象(三种方式):通过Object提供的方法:public final Class<?> getClass(); 利用“类.class”的方式实例化Class对象:如String.class; 利用Class类提供的方法(推荐),字符串参数要带上包名:public static Class<?> forName(String className)...原创 2018-08-07 12:56:45 · 120 阅读 · 1 评论 -
ImageIO类说明
这个类中的方法都是静态方法,可以用来进行简单的图片IO操作 。读入的三种方法 :1、public static BufferedImage read(File input)File file = new File("/Users/xixi/Documents/aaa.png");BufferedImage bu = ImageIO.read(file);2、public sta...转载 2018-08-31 20:54:05 · 5494 阅读 · 0 评论 -
线程的同步与死锁
一、线程的同步问题 当多个线程访问同一个资源对象时会引发同步问题。示例:public class MyThread implements Runnable { private int n=10;//n为共享资源 @Override public void run() { for (int i=0;i<100;i++){ ...原创 2018-07-20 21:54:10 · 255 阅读 · 0 评论 -
使用ImageIO和BufferedImage缩放图片
1.ImageIOImageIO类包含两个静态方法:read()和write(),通过这两个方法即可完成对位图文件的读写,调用write()方法输出图形文件时需要指定输出的图形格式。public static BufferedImage read(File input) throws IOException public static boolean write(RenderedImag...原创 2018-09-13 16:07:34 · 13693 阅读 · 0 评论 -
Java打印流——PrintStream
我们知道Java输出流有OutputStream,怎么又冒出了一个打印流呢?因为OutputStream只有三个write()输出方法,参数全都是字节。如果我们要把String或int或double类型的数据输出,都要先把它们转换成字节或字节数组,再进行write()输出,这样使用起来稍微有点麻烦,所以就有了PrintStream这个类来简化我们的操作。PrintStream有各种类型数据的p...原创 2018-10-04 12:05:54 · 4807 阅读 · 0 评论 -
System类对IO的支持
System类有三个静态成员常量: public static final PrintStream errpublic static final PrintStream outpublic static final InputStream in我们平时经常用到的System.out.println()其实就是PrintStream类的println()方法。这个PrintStream...原创 2018-10-04 15:27:50 · 222 阅读 · 0 评论 -
Java比较器
Arrays了解比较器之前首先来了解一下java.util包下的Arrays类。这个类主要提供了各种操作数组的方法。最常用的几个方法:Arrays.toString(T[] data) //将数组以字符串的形式返回Arrays.sort(T[] data)//将数组按指定的比较规则以升序的顺序排序,T类需要实现Comparable接口Arrays.sort(T[],Comparato...原创 2018-09-27 16:05:15 · 1605 阅读 · 0 评论 -
StringBuffer类
String对象一经声明,便不能修改它的内容,修改的只是引用的地址;而StringBuffer对象是可以改变它的内容的:public class Main { public static void main(String[] args) throws IOException { String str=new String("hello "); Syst...原创 2018-10-05 10:02:34 · 936 阅读 · 0 评论 -
java文件操作类——File
文件基本操作创建File实例:public File(String pathname) 创建空文件:public boolean createNewFile() throws IOException其中,要注意的是,windows下的路径分割符是"\",linux下的是"/",当我们在windows下java中要用路径分割符,必须使用双斜杠"\\"。最好用File.seperator表示路...原创 2018-07-28 17:20:00 · 1379 阅读 · 0 评论