
java基础
文章平均质量分 65
工作中补全的基础知识
淡奶油芝士面包
刷刷知乎,平平淡淡
展开
-
源码阅读的注意点
记录一下,工作时一段FIX的源码看不懂,找朋友帮忙一起看时候学到的技巧1 源码类中定义的属性要先看这个部分,简单了解这块源码是做什么的(实现什么功能),源码的命名往往比较规范,通过属性名的定义,很多时候直接能猜到它的职能,比如 DEFAULT_CAPACITY,见到它,就知道它是作为某个默认下标使用2 尝试模拟源码场景,断点尝试将源码的数据输入模拟成main方法进行断点,观察源码走向3 联系类内部属性,划分结构查看好的代码会对不同逻辑进行拆分,联系类内部定义的属性,如if(A) ge原创 2022-03-02 09:49:27 · 146 阅读 · 0 评论 -
理解线程回调(转)
java——多线程回调函数 - kelelipeng - 博客园 (cnblogs.com)转载 2022-02-11 10:26:02 · 174 阅读 · 0 评论 -
多线程-回调
参考:wenzhi的博客_峥嵘life_优快云博客-android,java,UI领域博主简单介绍下背景,为什么会突然想到去学回调相关的,虽然之前不会,但是也没有想到去看最近换了一个项目组,我之前是做OA系统的,总的来说,OA的代码没什么难度,就是各种形式的CRUD。新项目组代码难度直接提升了一个量级,自研自封装通信协议,自研框架,fix通信协议与自研协议转换以及各个系统交互。其中有一个点,据负责人说,线程回调相当普遍,我之前看博客的方向主要是锁,有个大佬告诉我,实际项目中细粒度的锁使用并不普转载 2022-01-24 17:59:58 · 1648 阅读 · 1 评论 -
多线程基础-ReetrantLock
参考:https://csp1999.blog.youkuaiyun.com/article/details/116331409https://blog.youkuaiyun.com/javazejian/article/details/75043422你知道怎么实现多线程同步问题吗?join不算,还知道吗 - 知乎 (zhihu.com)学习多线程一段时间后,视野中出现了各式各样的“锁”,起初是眼花缭乱的,但是仔细整理一下发现还是有规律可循的。现在我理解的大致基础向并发编程学习思路就是1 多线程基础,包括原创 2021-07-29 14:37:02 · 661 阅读 · 0 评论 -
自旋锁的简单介绍
参考:http://blog.onlycatch.com/post/自旋锁https://blog.youkuaiyun.com/qq_34337272https://blog.youkuaiyun.com/qq_34337272可重入锁的获取和释放需要注意的一点儿事_aty-优快云博客Java并发编程-无锁CAS与Unsafe类及其并发包Atomic_zejian的博客-优快云博客深入理解Java并发之synchronized实现原理_zejian的博客-优快云博客_synchronized原理原创 2021-07-16 10:23:17 · 318 阅读 · 2 评论 -
ThreadLocal使用与原理(转)
转自:ThreadLocal使用与原理_敖丙-优快云博客本准备看ConcurrentHashMap的知识,突然发现需要很多并发方面的知识,于是又去补多线程和并发知识,除了基础方法 线程状态 CAS AQS 和ThreadLocal这些也都需要做些了解https://blog.youkuaiyun.com/javazejian/article/details/75043422(AQS)https://blog.youkuaiyun.com/javazejian/article/details/72772470(CAS)转载 2021-07-13 10:06:20 · 158 阅读 · 0 评论 -
多线程基础-ThreadLocal(转)
转自https://blog.youkuaiyun.com/qq_35190492/article/details/107599875(ThreadLocal)https://blog.youkuaiyun.com/zxh87/article/details/19414885(simpleDateFormat线程安全问题)题外话:提到ThreadLocal,我还能记起很久之前看的一篇文章,主题并不是关于ThreadLocal,主要是将SimpleDateFormat这个类的线程安全问题,以及具体的解决办法,初读这一转载 2021-07-11 16:15:46 · 126 阅读 · 0 评论 -
多线程基础-CAS(乐观锁)
参考:https://blog.youkuaiyun.com/Hellowenpan/article/details/103202898https://blog.youkuaiyun.com/v123411739/article/details/79561458https://csp1999.blog.youkuaiyun.com/article/details/116136920写在前面:很多人(包括我)刚了解多线程这个概念的时候,对并发的概念理解是很模糊的,也不清楚所谓的线程安全问题到底是什么意思,这些概念是必须要明确清晰原创 2021-07-10 20:25:46 · 236 阅读 · 0 评论 -
java中的深浅拷贝
参考:https://csp1999.blog.youkuaiyun.com/article/details/115702607在过去很长的一段时间里,博主对深浅拷贝的区别在脑海中的概念大概如下:首先,拷贝这玩意儿就像是复制,有点像我们把对象中属性通过反射遍历然后挨个赋值给另一个对象假如一个类由若干类组合而成,内部包含若干其它类的对象的引用浅拷贝就只拷贝一般属性值,不拷贝引用,而深拷贝则会拷贝所有属性然后我看了一眼大佬的博客,发现完全错了,属于是歪到银河系以外了已经是对象的存储机制此处是jv原创 2021-07-10 15:20:25 · 138 阅读 · 0 评论 -
HashMap源码解析(转载)
转自https://csp1999.blog.youkuaiyun.com/article/details/109442223https://csp1999.blog.youkuaiyun.com/article/details/109496637HashMap主要考点就是hash冲突处理方式和扩容机制,以及后续引入的红黑树涉及红黑树会有更多的考点 左旋 右旋 染色以及其定义特征 还有插入 删除的平衡操作到现在我也没有找到合适的删除数据平衡的总结,实在不行去捋下HashMap中的树的删除方法...转载 2021-07-06 14:53:14 · 106 阅读 · 0 评论 -
HashTable源码解析(转载)
转自https://csp1999.blog.youkuaiyun.com/article/details/112853249如果你看过一些HashMap的源码,不难发现,很像hash算法不同的旧版HashMap,且所有方法加了锁所以是线程安全的,另外就是在put null作为key的时候会抛出NPE异常而不是像HashMap一样专门留个位置存null的key...转载 2021-07-06 14:46:55 · 131 阅读 · 0 评论 -
HashSet源码解析(转载)
转自草帽的博客https://csp1999.blog.youkuaiyun.com/article/details/112602510HashSet基于HashMap实现,所有元素的value值均为一个Object常量值,所以它也具有HashMap的特性,无序,线程不安全,键值不能重复在工作中我曾遇到一个问题,就是连续操作几个Set,其中一个Set包含""元素,我调用remove("")无法删除其中的""空元素,导致DB仍旧写入了这个空值,具体原因没有深究,当时的解决方案是new一个HashSet,旧的s转载 2021-07-06 13:58:50 · 117 阅读 · 0 评论 -
java8 HashMap面试问题点整理
这里放一个大佬博客的传送门https://blog.youkuaiyun.com/v123411739/article/details/78996181在开始看JDK8之前,我注意到博客中提到java7中的HashMap在多线程下会抛出异常,HashMap本身并不是线程安全的,但还是关注一下用来学习。java7下HashMap并发条件下行程环形链表并在调用get方法后报错的原因do { Entry<K,V> next = e.next; // <--假设线程一执行到这里就被调原创 2021-07-06 10:29:22 · 199 阅读 · 0 评论 -
java基础-移位运算
转载自草帽大佬:(2条消息) JAVA基础提高之位运算_兴趣使然的草帽路飞-优快云博客不建立中间变量交换a b值的面试题我见过,不过没答出来-_-移位中,判断奇偶性和交换值,还有加密感觉都很实用,平时工作也值得一试~...转载 2021-06-29 16:39:47 · 130 阅读 · 0 评论 -
java8LinkedList源码阅读解析
参考:https://blog.youkuaiyun.com/mq2553299/article/details/76551221https://www.cnblogs.com/dsxie/p/12945384.htmlJava Collection库中有三类:List,Queue,Set;而List接口,有三个子实现类:ArrayList,Vector,LinkedList。LinkedList如其名,链表,像锁链一样一环扣一环的数据结构。我们先回顾一下链表的特性,和数组做一个对比数组因为有下原创 2021-06-13 21:39:03 · 1235 阅读 · 2 评论 -
java8ArrayList源码阅读解析(新)
参考https://blog.youkuaiyun.com/u010250240/article/details/89762912https://www.jianshu.com/p/ccbe93b5ec76之前写过一篇读源码的博客,第一次尝试着去阅读ArrayList的源码,算是在漫长的CRUD生活中添加了一缕别样的色彩。当我自己再去读这篇博客的时候,您猜猜怎么着?哎,我当时就忍不住笑了出来,那更像是一篇充满了错别字的阅读笔记,而且是顺序阅读代码,对整体实现思路的总结没有,还有不少错误的描述,但是考虑到原创 2021-06-10 16:04:31 · 225 阅读 · 0 评论 -
多线程基础总结
参考了以下博客https://www.cnblogs.com/weechang/p/12520252.htmlhttps://www.cnblogs.com/jijijiefang/articles/7222955.htmlhttps://blog.youkuaiyun.com/gf771115/article/details/51682561https://www.cnblogs.com/felixzh/p/10345929.htmlhttps://www.cnblogs.com/liyutian原创 2021-06-09 11:05:47 · 171 阅读 · 2 评论 -
java8 ArrayList源码阅读(旧)
ArrayList几乎是我们日常开发最常用的集合了,存对象实例存字符串存数字,常规的存储数据和局部变量存放都经常用到它,今天我准备读一读它的源码,如有错误欢迎指正我们先来看一下ArrayList具体集成和实现了什么接口/抽象类一个一个看,先看AbstratctList<E>,这是一个泛型类,java支持运行时绑定,所以支持动态类型,ArrayList<E>也是个泛型类,这也是为什么我们可以在新建ArrayList时指定内部元素的类型如ArrayList list = ne原创 2021-06-07 13:59:49 · 228 阅读 · 7 评论 -
java集合类
部分内容转自:https://blog.youkuaiyun.com/zzw1531439090/article/details/87872424准备重新看看集合类中的好伙计们,先总体整理一下集合体系总体结构下图可以很清楚的说明这张图初学者乍看可能觉得很复杂,咱们来理一理在接口层,jdk主要定义了Map接口和Collection接口,然后分出若干子接口,以Collection接口为例,它的下层子接口有三个,分别是List ,Queue 和Set,然后在它们的基础上实现了ArrayList Lin原创 2021-01-11 16:02:30 · 184 阅读 · 0 评论 -
java中的IO流
什么是流?流表示任何有能力产生数据的数据源对象或者是有能力接收数据的接收端对象,它屏蔽了实际的I/O设备中处理数据的细节。IO流是实现输入输出的基础,它可以很方便地实现数据的输入输出操作,即读写操作。本片要点介绍流的定义和基本分类。 介绍文件字符流、字节流、转换流、合并流、打印流等使用。 介绍序列化的意义。 介绍两种自定义序列化方式。基本分类根据方向输入流:数据从外部流向程序,例如从文件中读取数据。输出流:数据从程序流向外部,例如向文件中写数据。 根据形式字符流:字符类文件,【.转载 2021-01-11 14:43:00 · 126 阅读 · 0 评论 -
序列化与反序列化,及序列化接口
本博客转自:https://www.cnblogs.com/xdp-gacl/p/3777987.html一、序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为对象的过程称为对象的反序列化。 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中; 2) 在网络上传送对象的字节序列。 在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存。比如最常见的是Web服务器中的S转载 2021-01-11 13:42:44 · 405 阅读 · 0 评论 -
java8中的时间处理
转自:https://blog.youkuaiyun.com/u012107143/article/details/78790378jdk出到8版本后,原先熟悉的用来处理时间的jdk类型如Date,Calendar,SimpleDateFormat等在新的项目里也不再使用,包括之前就被发现的线程安全问题,在jdk8的新时间处理类中,线程安全问题得到了解决//世界标准时间,其中T表示时分秒的开始(或者日期与时间的间隔),Z表示这是一个世界标准时间 2017-12-13T01:47:07.081Z //本地时间,也转载 2021-01-07 17:44:40 · 1325 阅读 · 0 评论 -
java中的枚举类型
转自思否:https://segmentfault.com/a/1190000017376401迄今为止,工作中接触的枚举类的应用并不多,我从业以来主要是在写各种后台接口,以及部分ELK,这篇博客主要靠转载和个人部分总结,作为对基础的巩固。学习任何一个知识点前,我们都应该先了解它能帮我们实现什么样的效果或者功能。枚举是常量的一种,而常量的用法一般是用来表示某种状态。java中有三种常量 接口常量、类常量、枚举常量,作为常量的一种,枚举也不需要被继承1.1 定义枚举类枚举类可以实...转载 2021-01-07 16:06:56 · 604 阅读 · 0 评论 -
java8lambuda表达式应用(转)
转自https://blog.youkuaiyun.com/yushengpeng/article/details/92024068https://www.cnblogs.com/oskyhg/p/9860843.htmlJDK1.8中Lambda表达式的应用Labda表达式的介绍 1.forEach遍历Map 2.forEach遍历List 3.在多线程中使用Lambda表达式 4.自定义Lambda表达式功能 5.Predicate接口实现数据过滤 6.Lambda的map和r转载 2021-01-05 17:21:33 · 458 阅读 · 0 评论 -
java基础-JSON格式
json数据是我们开发中最常见的数据格式了,一般来说,数据传输都是通过json数据或者xml格式数据序列化然后通过网络传输,在接收端进行反序列化将二进制数据转换为json / xml写这篇博客的目的是巩固一下知识,很新手向。过去在面试时被问到有关json是什么这个问题时,我的回答显得十分的简陋,只是简单地回了一句:“json就是键值对形式地字符串”,因为我当时对json地认知就是以键值对形式如"name":"zhangsan"这样形式存在的字符串这里先不提json的转换,既然说基础,就先从最基础的说原创 2020-11-10 17:23:01 · 1169 阅读 · 0 评论 -
java基础-类加载机制
本博客仅为博主自己学习总结,参考的博客会以连接形式给出,侵删致歉。参考:https://www.cnblogs.com/ityouknow/p/5603287.htmlhttps://blog.youkuaiyun.com/zly921112/article/details/61192747https://baijiahao.baidu.com/s?id=1636309817155065432&a...原创 2020-04-02 16:14:41 · 169 阅读 · 0 评论 -
java基础-static和final修饰符
想起自己刚入职第一家公司的时候,对静态这个概念都不是很熟悉,那时候也是初生牛犊不怕虎,抱着侥幸心理就去找工作了,结果可想而知,那肯定是到处碰壁,,近来正好有时间,那就梳理一下,顺便重点地去重温一下static这个修饰符,无论是静态变量、静态代码块、还是静态内部类、 参考runnoobhttps://www.runoob.com/java/java-modifier-types.html,这里重...原创 2020-04-01 17:08:40 · 149 阅读 · 2 评论 -
java基础-字符串
字符串可以说是我们在日常开发中每天都会见到的类型,熟练掌握它的概念和相关API可以很好地提高我们的工作效率。在java中我们声明一个字符串通常由两种方式,一种是直接声明String a = "abc";还有一种是类似新建对象的创建方式,String a = new String("abc");这两种方式略有不同。其中涉及到常量池有关的知识,可以看看这篇博客https://www.cnblogs...原创 2020-04-03 16:36:21 · 131 阅读 · 0 评论 -
java基础-日期处理
参考博客https://www.cnblogs.com/superdrew/p/10701177.htmljdk8新方法https://www.cnblogs.com/zl520/p/9957908.html 旧的Date和Calendarhttps://www.cnblogs.com/yw-ah/p/8512799.htmlhttps://www.cnblogs.com/yan...原创 2020-04-03 18:04:59 · 211 阅读 · 0 评论 -
java基础-文件处理
参考:https://blog.youkuaiyun.com/weixin_43683536/article/details/89498287https://www.cnblogs.com/cocoxu1992/p/10460994.htmlhttps://www.cnblogs.com/2019wxw/p/10962881.htmlhttps://blog.youkuaiyun.com/cc19692817...原创 2020-04-05 15:17:04 · 205 阅读 · 0 评论 -
java基础-反射、动态代理
参考https://www.cnblogs.com/whgk/p/6122036.htmlhttps://blog.youkuaiyun.com/huangliniqng/article/details/88554510https://blog.youkuaiyun.com/sinat_38259539/article/details/71799078?depth_1-utm_source=distribute...原创 2020-04-05 16:55:39 · 174 阅读 · 0 评论 -
java基础-jvm学习
参考文章:https://www.jianshu.com/p/82f27b4dd582https://www.jianshu.com/p/c441cb07e79ahttps://blog.youkuaiyun.com/xxxx3/article/details/81009524https://blog.youkuaiyun.com/Lnho2015/article/details/77677869...原创 2020-04-08 15:28:21 · 338 阅读 · 0 评论 -
在java中==和equals()的区别
屡次面试被问到的基础问题。这些基础知识有时候很奇妙,网上找的资料还有说==是比较内存地址,equals是比较值的···,总算是找到了一篇靠谱点的,转一下,顺当是记录一下,我自己就被这个说法坑过好长一段时间,以后再面试,大家可别再直说==比较的值,equals是比较对象在堆内存上的地址这样的话了,即便是工作了,多温习温习基础也好,加油呀在Java学习和面试中经常遇到这个问题,虽然想着简单,但还是决定记录下来,毕竟菜嘛......==:==是直接比较的两个对象的堆内存地址,如果相等,则说明这两个引用实原创 2020-07-10 11:17:29 · 163 阅读 · 0 评论