![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
java
学习java基础
曾梦想仗剑天涯12138
这个作者很懒,什么都没留下…
展开
-
利用反射机制调用方法
{ public static void main(String[] args) throws ClassNotFoundException, IllegalAccessException, InstantiationException, NoSuchMethodException, InvocationTargetException { //这是以前的方法,没有使用反射机制 UserService userService=new UserService();原创 2020-11-21 16:39:54 · 107 阅读 · 0 评论 -
反射中获取类路径下的绝对路径
全部都需要是同一个类里面通用方法public class abc { public static void main(String[] args){ String path=Thread.currentThread().getContextClassLoader().getResource("classinfo2.properties").getPath(); System.out.println(path); }}资源绑定器public clas原创 2020-11-21 03:12:02 · 504 阅读 · 0 评论 -
反射中获得Class的三种方式
{ public static void main(String[] args) throws ClassNotFoundException { //第一种 Class c1=null; Class c2=null; c1=Class.forName("java.lang.String"); c2=Class.forName("java.util.Date");//第二种 String s="ab"; Class c原创 2020-11-20 15:41:55 · 59 阅读 · 0 评论 -
多线程生产者和消费者代码
import java.io.*;import java.text.SimpleDateFormat;import java.util.*;import java.lang.Object;public class jaChu { public static void main(String[] args) { //创建一个集合 List list=new ArrayList(); //创建生产者线程和消费者线程 Thread原创 2020-11-20 13:16:44 · 109 阅读 · 0 评论 -
Files的常用方法都有哪些?
Files.exists():检测文件路径是否存在。Files.createFile():创建文件。Files.createDirectory():创建文件夹。Files.delete():删除一个文件或目录。Files.copy():复制文件。Files.move():移动文件。Files.size():查看文件个数。Files.read():读取文件。Files.write():写入文件。...原创 2020-11-18 10:04:49 · 135 阅读 · 0 评论 -
FileInputStream输出字节的方法
FileOutputStream i=null; //创建一个输出流,如果要使用追加方法,则在地址位置后面加上true,不然的话会先清空原来内容,再进行输出 //没有文件名的话,则会自动创建。 i=new FileOutputStream("out/work1",true); //创建一个数组,加入三个元素 byte[] b={105,106,107}; //输出三个元素 i.write(b);.原创 2020-11-17 21:25:38 · 118 阅读 · 0 评论 -
FileInputStream读取文件的方法
FileInputStream i=null;try {//读取文件i=new FileInputStream(“out/work1”);} catch (FileNotFoundException e) {e.printStackTrace();}finally {//需要关闭,不关闭浪费资源i.close();}//创建一个数组长度为4的数组byte[] b=new byte[4];//i.read(b)计算读取了多少个元素,如果最后没有元素了,则返回-1int c=0;wh原创 2020-11-17 20:58:02 · 1247 阅读 · 0 评论 -
Properties基本方法
//创建集合,加入key和valueProperties p=new Properties();p.setProperty(“1”,“zs”);p.setProperty(“2”,“ls”);p.setProperty(“3”,“w5”);//通过key得到valueString p1=p.getProperty(“1”);String p2=p.getProperty(“2”);String p3=p.getProperty(“3”);//输出key和valueSystem.out.p原创 2020-11-17 11:28:29 · 96 阅读 · 0 评论 -
TreeSet基本方法
import java.util.*;public class jaChu { public static void main(String[] args) { //创建集合 TreeSet<Integer> ts=new TreeSet<>(); ts.add(100); ts.add(200); ts.add(600); ts.add(300); for原创 2020-11-17 11:06:23 · 239 阅读 · 0 评论 -
HashSet 的实现原理
HashSet底层由HashMap实现HashSet的值存放于HashMap的key上HashMap的value统一为PRESENT原创 2020-11-17 10:21:45 · 75 阅读 · 0 评论 -
HashMap 和 Hashtable 有什么区别?
HashMap 和 Hashtable 有什么区别?hashMap去掉了HashTable 的contains方法,但是加上了containsValue()和containsKey()方法。hashTable同步的,而HashMap是非同步的,效率上HashMa更高。hashMap允许空键值,而hashTable不允许。...原创 2020-11-17 10:20:14 · 53 阅读 · 0 评论 -
HashMap的实现原理
HashMap允许key值和value值为null;HashMap是数组和链表的结合体,比如杜老师说的门帘;HashMap的put方法:先将key值转换成hash值,hash值是这个元素在数组中的位置(下标),如果数组的这个位置上没有元素,则将这个元素放在这个位置上;如果数组的这个位置上有元素,先用key值和这个数组上链表的key值进行equals比较,如果有相同的话,则将进行覆盖,如果没有相同的话,就连接在这条链表的末尾。...原创 2020-11-17 10:18:33 · 49 阅读 · 0 评论 -
HashSet集合的基本方法
//创建集合 HashSet<String> s =new HashSet<>(); //添加元素 s.add("abc"); s.add("cba"); s.add("aaa"); //无序不可重复 s.add("aaa"); s.add("aaa"); s.add("bbb"); s.add("ccc");//遍历集合 I原创 2020-11-17 09:57:10 · 365 阅读 · 0 评论 -
集合List这块需要掌握的内容
public static void main(String[] args) { //创建集合 List<Integer> mylist = new ArrayList<>(); //ArrayList和LinkedList的方法是一样的。 //添加元素 mylist.add(1); mylist.add(2); mylist.add(3); mylist.add(4);原创 2020-11-17 09:29:45 · 68 阅读 · 0 评论 -
遍历map集合的两种方法
通过获取key集合,再获得valuepublic static void main(String[] args) { Map<Integer,String>map = new HashMap<>(); map.put(1,"张三"); map.put(2,"李四"); map.put(3,"王五"); map.put(4,"赵六");//获取所有key,是一个set集合 Set<原创 2020-11-15 20:57:49 · 78 阅读 · 0 评论 -
List接口中的常用方法
List是Collection接口的子接口。所以List接口中有一些特有的方法。void add(int index, Object element) //往指定下标位置添加元素Object set(int index, Object element) //往指定下标位置修改元素Object get(int index) //往指定下标位置查看元素int indexOf(Object o) //获取第一次出现指定对象的下标int lastIndexOf(Object o)//原创 2020-11-14 21:37:00 · 113 阅读 · 0 评论 -
collection的几种常用方法
boolean add(object e) //向集合中添加元素。int size() //获取集合中的个数。void clear() //清空集合。boolean contains(object o)//判断当前集合中是否包含元素o,包含返回true,不包含返回false。boolean remove(object o )//删除集合中的某个元素。boolean isEmpty()//判断该集合的元素个数是否为零。...原创 2020-11-14 11:39:14 · 485 阅读 · 0 评论 -
集合继承结构图
原创 2020-11-13 15:16:36 · 103 阅读 · 0 评论 -
抽象类和接口有什么区别?
抽象类是半抽象的。接口是完全抽象的。抽象类中有构造方法。接口中没有构造方法。接口和接口之间支持多继承。类和类之间只能单继承。一个类可以同时实现多个接口。一个抽象类只能继承一个类(单继承)。接口中只允许出现常量和抽象方法。实现:抽象类的子类使用 extends 来继承;接口必须使用 implements 来实现接口。main 方法:抽象类可以有 main 方法,并且我们能运行它;接口不能有 main 方法。访问修饰符:接口中的方法默认使用 public 修饰;抽象类中的方法可以是任意访问原创 2020-11-13 12:15:12 · 62 阅读 · 0 评论