java基础学习
文章平均质量分 67
南波兔不写巴哥
这个作者很懒,什么都没留下…
展开
-
NIO中的Selector 使用理解(手写版)
用于自我快速理解,字迹丑陋,之后有时间我会专门重新写博客来讲解原创 2021-04-06 11:12:31 · 170 阅读 · 0 评论 -
java中浅拷贝与深拷贝快速理解区分 -java基础复习部分
这里旨在快速理解与区分深拷贝与浅拷贝的区别。深拷贝与浅拷贝概念的区分 ClassM A = new ClassM(); ClassM B = A.clone();浅拷贝:A与B是两个对象,但是它们之间存在着关联。当修改A.a(引用类型)时,B.a也会跟着被改变。也就是A与B有公共部分,修改这个公共部分(ClassM中的引用类型字段),相当于对A与B都进行了修改。深拷贝:A与B是两个对象,它们之间不存在关联,修改A对B毫无影响。它们相互独立。为和会有深拷贝与浅拷贝浅拷贝实例代码(拷贝自c原创 2021-01-13 10:34:57 · 144 阅读 · 0 评论 -
java中String的引用问题 -java基础复习部分
本篇博客是我在复习java基础时,所总结思考出的东西,面向与快速理解与面试其中参考了我自己之前的博客与美团的技术博客。复习时直接看总结java中String创建的不同方式以及效果java中创建String的较为常用的两种方式 String s1 = "abc";//我是方法1 String s2 = new String("abc");//我是方法2针对String s1 = “abc”;这种字面值创建方式,jvm规定,在创建时,首先查询字符串池,如果其中有值为"abc"的String对象,原创 2021-01-12 10:37:28 · 528 阅读 · 0 评论 -
java中Integer自动装箱的坑 Integer比较不能用==
问题详情在做leecode题时,使用到了HashMap<Character,Integer>,用Integer来记录字符的出现次数,然后需要将两个Integer进行比较。一开始傻傻的就进行了 ==进行比较,大多数情况都是可以解决的,但是到后来,明明数值相等,却返回false。出问题了。问题分析与解决我马上意识到,Integer是对象,确实不能够用==来比较,这样比较是比较内存地址。但是之前大多数情况可以用啊,为啥有时候不能用呢?经过一波baidu、csdn之后。找到了原因。原来In原创 2021-01-09 17:10:40 · 535 阅读 · 0 评论 -
cookie与session的简单快速理解
本文旨在快速理解cookie与session的概念,而不是深挖其中技术细节,也不整无用的代码示例。很多技术点在使用过程中,更多的是一种进阶版的黑盒,知道如何用,知道其基本原理,而无需深挖实现细节。会话会话是指一个终端用户与交互系统进行通讯的过程,比如从输入账户密码进入操作系统到退出操作系统就是一个会话过程。简单的来说,我们打开csdn的网页,一次与csdn服务器的会话便开启。我们浏览csdn的相关页面,会话便在进行中。当我们关闭csdn网页,但浏览器尚未关闭,会话仍然没有结束。而当我们重新打开原创 2020-12-31 21:07:14 · 308 阅读 · 1 评论 -
java中的拷贝,深拷贝,浅拷贝(提前mark)
clone今儿在刷LeetCode时,因为忘记了java中的引用类型变量的复制是复制引用的,而不是复制值的,于是便像之前一样复制基本类型变量一样来复制引用类型变量。results.add(result)这里results是List<List<Integer>>的,而result是List<Integer>的。在代码中,有一个回溯过程,会不断对result进行修改,然后进行判断,判断成功后将result加入results中去。所以最终results中的值是[res原创 2020-10-15 10:18:44 · 140 阅读 · 0 评论 -
java使用随记 map的按值排序 map数据的存入及修改
hashmap的按值排序具体思路,将hashmap的entry放到List中去,然后按照List的比较器进行排序,之后再把entry放到Linkedhashmap中去。这里几个概念,首先hashmap是没有顺序的,所以没有办法进行排序,而之所以要放到List中去,是因为List可以比较方便的进行排序,这里用到了Map中的Entry,这个可以就单纯的简单的理解成<key,value>这样的一种数据结构,如此便比较好理解。对List进行排序之后,便有了顺序,然后这里使用Linkedhashma原创 2020-09-05 11:42:10 · 443 阅读 · 0 评论 -
Java学习-反射的理解
文章目录写在前面Class类对象如何获取Class类对象Class对象有什么用反射的理解写在前面本文从class对象讲起,一步步到反射。基本都是个人理解,部分内容参考了林信良著《java学习笔记》Class类对象首先,我们来了解一下Java中类的历程,从而展开对反射的介绍。我们用编写代码,一行行,写出一个类,经过编译之后,会产生类名.class文件,也就是我们所熟悉的字节码文件,此文件中...原创 2020-02-14 16:16:26 · 225 阅读 · 0 评论 -
多线程学习---线程同步与等待唤醒机制
线程同步前面我们简单的理解了一下多线程,理解多线程存在的意义。这里我们必须要明确一点,多线程有其优点,必有其问题,这个问题就是我们要解决的。假设两个线程访问一个共享资源,要对这个共享资源进行修改,若他们同时对这个数据修改,不就是出现问题了嘛,共享资源没有得到及时的更新,也无法预测其之后的结果,这是很大的安全问题,所以也就引出了解决办法,线程同步。线程同步的思想就是,在涉及共享资源的代码段上,一...原创 2020-01-31 11:24:18 · 1070 阅读 · 0 评论 -
多线程学习---多线程理解
写在前面大体几天时间学了些多线程,有一些理解,于是便想着写篇博客来记录一下。关于多线程我会多写几篇,偏重于自己的思路,偏向于理解。首先需要一些基础概念(大体理解):进程:进入内存的程序。线程:进程的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程;一个进程中可以有多个线程,此时该进程就是多线程的程序。可以理解成进程是一个大的项目,线程是工人,一个项目至少由一个工人来完成,而...原创 2020-01-30 12:44:59 · 2695 阅读 · 2 评论 -
IO流中的序列化流的学习与理解
序列化是什么在刚开始接触这一概念时,是有点懵的,为啥要把对象存下来,不是有类么,还有啥反序列化,这都啥跟啥呀。大概浏览完序列化这一块的知识之后,想了一会儿,大致是弄懂了具体是怎么玩的了。想想这样一个场景,我创建了一个对象,或者由什么方法得到了一个对象,这个对象来之不易,那么,如果我们一个小组的其他成员也需要用这个对象呢,我怎么让她也能使用这个对象呢。(抓耳挠腮)此时,序列化这个出现救命了,我们...原创 2020-01-23 18:50:28 · 379 阅读 · 0 评论 -
IO流中缓冲流的学习与理解
缓冲流学习及理解关于缓冲流的理解缓冲流与字节流读写时使用字节数组关于缓冲区以及缓冲区刷新文件复制中缓冲流的效果总结关于缓冲流的理解缓冲流这个概念是针对底层流来说的,属于高层次的流,在平常的底层流(字节输入流)的使用中,发现的问题就是效率比较低,cpu与io的互动比较慢,原因主要在于io是慢速设备,在仅仅使用字节流来单字节读写时,cpu需要经常等待io,所以导致读写效率太低。此时,引入缓冲的概念...原创 2020-01-23 12:44:32 · 1212 阅读 · 1 评论