
Java
文章平均质量分 86
关于Java的学习和总结
Davisxy
这个作者很懒,什么都没留下…
展开
-
List遍历时删除
List容器一边遍历,一边删除在一些业务逻辑上总是会存在的。小栗子例如有一个列表,在UI上的反馈就是用户勾选了几个需要删除的,勾选后点击确认删除;代码逻辑就是在列表中标识勾选的项,然后遍历删除;先不说这个例子有多少实现的方法,就针对遍历删除来讨论。第一种 for-eachpublic class ForTest { public static void main(String[] args) { List<Integer> intList = new Ar原创 2021-08-05 17:24:11 · 817 阅读 · 0 评论 -
Java IO流
也是在网上综合几篇博客摘抄的,自己没有专门去验证过;这块总是学了又忘,所以放一张思维导图在这立着;如果有大佬来勘误,欢迎指出;如果有大神见过整理的比较好的关于这个的博客,且通过装饰模式把这些类之间的关联总结的比较好的,欢迎贴网址。拜谢!!!...原创 2020-10-29 10:46:06 · 114 阅读 · 0 评论 -
Java笔记:位运算之异或交换数值原理
转载:Java笔记:位运算之异或交换数值原理在学习任何语言时,都会提及到一种容易被大家忽视的运算方法–>位运算在java中,由于JVM机制的存在,使得位运算存在感更加低,并且,为了程序的可读性,也有程序员不愿意使用位运算进行操作。但是位运算的优秀性能,作为一个程序员是不得不学习,不管是否会用到,都应学习学习其中的原理及思想,这给我们带来的影响是潜移默化的。基本位运算符 : &...转载 2019-07-03 12:00:58 · 1614 阅读 · 1 评论 -
原码、反码、补码
反码有个循环进位,就是当符号位需要进位时,直接在末位+1;做反码加减或者补码加减的时候,符号位参与运算,如果符号位为0则直接取值,否则就做反运算(反码结果直接取反,补码结果则-1取反)https://blog.youkuaiyun.com/xiey94/article/details/94554566https://www.imooc.com/article/16813?block_id=tuijian...原创 2019-07-03 16:22:25 · 772 阅读 · 0 评论 -
容器 ArrayList源码解析
容器 ArrayList标签(空格分隔): 容器 ArrayListArrayList继承自AbstractList容器 AbstractList 源码解析//实现了三个接口,可克隆,可随机访问(这个有意思,先放放),可序列化public class ArrayList<E> extends AbstractList<E> implements ...原创 2019-08-04 18:17:24 · 169 阅读 · 0 评论 -
泛型 通配符(?)、 extends、super
泛型转载:https://blog.youkuaiyun.com/maxiaoyin111111/article/details/81706836问题来源:Java 泛型 <? super T> 中 super 怎么 理解?与 extends 有何不同?**< ? extends T>和< ? super T>**是Java泛型中的“通配符(Wildcards)...转载 2019-07-31 23:39:29 · 280 阅读 · 0 评论 -
容器 AbstractCollection源码解析
AbstractCollection源码解析这里主要就是以下几个方法的理解可能需要费点时间public Object[] toArray() {}public <T> T[] toArray(T[] a) {}private static <T> T[] finishToArray(T[] r, Iterator<?> it) {}private st...原创 2019-08-01 13:43:21 · 174 阅读 · 0 评论 -
容器 AbstractList 源码解析
AbstractList 源码解析//气不气,他还继承了AbstractCollection,怎么就没完没了呢;//(容器 AbstractCollection源码解析) https://blog.youkuaiyun.com/xiey94/article/details/98046498public abstract class AbstractList<E> extends Abst...原创 2019-08-01 18:35:03 · 200 阅读 · 0 评论 -
容器 迭代器源码解析
容器 迭代器标签(空格分隔): 容器 Iterable IteratordemoList<String> list = new ArrayList<>();Iterator<String> iterable = list.iterator();while (iterable.hasNext()) { String data = iterable....原创 2019-08-01 22:23:51 · 149 阅读 · 0 评论 -
容器List源码解析
List是个接口,继承自Collection容器 迭代器 Collectionpublic interface List<E> extends Collection<E> { //List的尺寸大小 int size(); //判断List是否为空 boolean isEmpty(); //判断List是否包含...原创 2019-08-01 22:30:43 · 186 阅读 · 0 评论 -
java 抽象类为什么不能被实例化?
转载:java 抽象类为什么不能被实例化?我把优快云论坛里面的一个帖子内容list到下面,自己看着理解,东家一言,西家一语,杂合起来,基本上也就理解了java中的抽象类为什么不能被实例化了。因篇幅有限,只能罗列部分留言以下内容不分先后顺序=====================================抽象类只在分配了在栈中的引用,没有分配堆中的内存。程序都有一个代码段,再内存...转载 2019-08-29 09:30:16 · 6281 阅读 · 1 评论 -
InputSream的read和OutputStream的write
先从这一段代码开始:private void copyFile(String srcPath, String destPath) throws IOException { // 源文件 File srcFile = new File(srcPath); // 输出文件 File destFile = new File(dest...原创 2018-07-02 22:52:30 · 2750 阅读 · 0 评论 -
java Map及Map.Entry详解
转自:java Map及Map.Entry详解Map是java中的接口,Map.Entry是Map的一个内部接口。interface Entry<K, V> { K getKey(); V getValue(); V setValue(V value); boolean equals(Object o); ...转载 2018-04-24 13:18:49 · 949 阅读 · 0 评论 -
关于Java UDP的端口占用问题
自己学这个的时候,犯了一个很丢脸的问题,就是这个UDP端口占用问题,如果是正常的端口占用,直接找出来,kill掉就没事了,或者换一个端口。而我遇到的这个问题就很白痴了。我先贴一下源码:public class AndroidServer { public static void main(String[] args) throws IOException { Datagr原创 2016-11-09 11:37:01 · 3937 阅读 · 1 评论 -
java线程池的初步理解
人无畏,视为后知后觉。 很多时候我们在使用某些东西,但是自己并不知道在使用或者压根就不关注;就像人呼吸空气却从来不关注这个,我使用线程池也是如此。在无意中用了却并不知道我使用了,(当然我现在也没发现,就说网络请求吧,我用过Volley,但是他是5个线程同时开的,个人感觉是有点定长线程的意思);因为是初步理解,也就是说我之前也不理解,也是从网上慢慢理解的,所以开始了解的例子也是从网上download原创 2017-12-20 09:22:03 · 308 阅读 · 0 评论 -
java线程
看了一篇好文章:Java多线程学习(吐血超详细总结),写的很好,理解了不少东西有一张很好的图:方便理解,同时还有一个顺序打印的例子,看的不是很懂: 建立三个线程,A线程打印10次A,B线程打印10次B,C线程打印10次C,要求线程同时运行,交替打印10次ABC。这个问题用Object的wait(),notify()就可以很方便的解决。代码如下:/** * wait用法 * @author原创 2017-12-22 11:05:51 · 246 阅读 · 0 评论 -
Java序列化与反序列化
转载自Java序列化与反序列化Java序列化与反序列化是什么?为什么需要序列化与反序列化?如何实现Java序列化与反序列化?本文围绕这些问题进行了探讨。 1.Java序列化与反序列化 Java序列化是指把Java对象转换为字节序列的过程;而Java反序列化是指把字节序列恢复为Java对象的过程。 2.为什么需要序列化与反序列化 我们知道,当两个进程进行远程通信时,可以相互发送各种类型转载 2017-12-26 09:45:13 · 182 阅读 · 0 评论 -
Type
Type是所有类型的父接口:子接口:ParameterizedType, TypeVariable, GenericArrayType, WildcardType 实现类:ClassRaw types:原生类型ParameterizedType:参数化类型带泛型<>的,基本都是;主要有3个方法:Type[] getActualTypeArguments():获得<>中实际类型,因为可能有多个类型参原创 2018-01-04 11:09:28 · 289 阅读 · 0 评论 -
反射reflect
Class对象的获取:有三个方法: 1、对象的getClass()方法; 2、类的.class(最安全/性能最好)属性 3、运用Class.forName(String className)动态加载类,className需要是类的全限定名(最常用)从Class中获取信息 获取内容 方法签名 构造器 Constructor<T> getConstructor(Class<?>… p原创 2018-01-04 15:31:21 · 223 阅读 · 0 评论 -
注解
@Documented注解是否将包含在JavaDoc中@Retention什么时候使用该注解RetentionPolicy.SOURCE – 在编译阶段丢弃。这些注解在编译结束之后就不再有任何意义,所以它们不会写入字节码。@Override, @SuppressWarnings都属于这类注解。RetentionPolicy.CLASS – 在类加载的时候丢弃。在字节码文件的处理中有用。注解默认使用这原创 2018-01-04 16:45:47 · 215 阅读 · 0 评论 -
关于为什么匿名内部类参数必须为final类型
转载自:关于为什么匿名内部类参数必须为final类型匿名内部类不能访问外部类方法中的局部变量,除非变量被声明为final类型 1. 这里所说的“匿名内部类”主要是指在其外部类的成员方法内定义,同时完成实例化的类,若其访问该成员方法中的局部变量,局部变量必须要被final修饰。 2. 原因是编译程序实现上的困难:内部类对象的生命周期会超过局部变量的生命周期。局部变量的生命周期:...转载 2018-04-09 13:09:54 · 1895 阅读 · 0 评论 -
关于匿名内部类的类型获取问题getGenericSuperclass
先放一下我的代码:public abstract class TestInterface<T> { private T t; public abstract void onBack(T data); public TestInterface() { onBack(t); }}public class Test { ...原创 2018-04-09 13:40:22 · 1399 阅读 · 0 评论 -
Java四种引用:强引用,软引用,弱引用,虚引用
转载自:Java四种引用包括强引用,软引用,弱引用,虚引用。Java四种引用包括强引用,软引用,弱引用,虚引用。 Java四种引用包括强引用,软引用,弱引用,虚引用。强引用:只要引用存在,垃圾回收器永远不会回收 Object obj = new Object(); //可直接通过obj取得对应的对象 如obj.equels(new Object()); 而这样 obj对象对后面...转载 2018-04-12 09:03:27 · 192 阅读 · 0 评论 -
UDP
import java.awt.BorderLayout;import java.awt.Container;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.IOException;import java.net.Data翻译 2016-09-25 22:44:24 · 311 阅读 · 0 评论