![](https://img-blog.csdnimg.cn/20190918140158853.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java学习
文章平均质量分 80
Java学习过程中的心得体会与技术记录~
CSU_THU_SUT
THU研究僧,研究方向:AI安全 模糊测试 隐私计算。曾在滴滴国际化产品技术部,长亭科技云原生安全项目组实习。
关注我,一起变强!
展开
-
戴哥说Java(三)——Java的反射和注解
Java注解和反射讲解,注重实践,配合例子。原创 2022-11-20 21:00:58 · 256 阅读 · 0 评论 -
戴哥说Java(二)——保姆级泛型与集合串讲
背景Java泛型的诞生和集合框架密切相关,在泛型诞生前,集合框架允许元素作为object类加入集合中。但这样会导致程序员必须关注元素的具体类型,否则很容易发生ClassCastException(类型转换异常)。这是运行时错误,在编译期是无法被发现的。经典例子ArrayList list = new ArrayList();list.add("dez");list.add(100);for(int i = 0; i < list.size(); i++) { String s = (原创 2021-08-05 12:12:59 · 179 阅读 · 0 评论 -
戴哥说Java(一)——沉没成本与基础概念
你开车去机场接一个重要客户,预估要等一小时。于是你在停车场付了一小时的停车费共15元。可是客户乘坐的山东航空提前半小时到了,这个时候你是再等上半小时还是直接开车走?这不是个白痴问题吗,肯定开车走啊!是啊肯定开车走啊,但其实这关乎沉没成本。假如你现在投入的费用是一万、十万甚至一百万呢?你还会走吗?Java与C/C++的取舍前面扯了这么多,关键是想讲一讲这个话题。好多学弟学妹们大一辛辛苦苦学了C/C++,前期投入成本很大,然后看了看Java语法,和C++差不多嘛,我有必要学一门新语言吗?.原创 2021-07-31 00:06:23 · 166 阅读 · 0 评论 -
小问题大学问:static、final关键字
前言:深信服一面的时候问了static、final关键字,答得不太好。之前觉得这种基础知识应该不太会问,现在觉得这种小问题能看出面试者基础是否扎实,是否有钻研精神,借这个机会来梳理梳理。static...原创 2021-03-03 13:04:03 · 106 阅读 · 2 评论 -
CAS、悲观锁、乐观锁,看完直接骑脸输出
场景:现在多个线程想要操作同一个资源对象,怎么办?第一反应肯定是采用互斥锁(如:synchronized关键字),但互斥锁的同步方式是悲观的。那么什么是悲观锁(Pessimistic Lock)?悲观锁悲观锁就是奉行Half-Bottle-Empty哲学的锁,总是想着最坏的情况,每次有线程尝试获取数据时总认为它肯定会修改数据(不管它到底有没有修改)。它(也可以认为是操作系统)悲观地认为,如果不严格同步线程调用,一定会产生并发异常。因此悲观锁将资源锁定,只供一个线程调用,其余线程阻塞。悲观.原创 2021-02-21 23:15:36 · 219 阅读 · 1 评论 -
戴哥聊设计模式(一)——最负盛名的单例模式Singleton
前言:OOP(面向对象编程)通常将职责分散到各个实例对象中,它促成了三大特性之一的封装,因为封装就是指对象基于自己的数据进行操作。但单例模式是离经叛道的那一位,它反对这种规范,将职责集中到某个类的单个实例中,并且对外部提供该单个实例的全局访问……单例模式的充要条件及分类单例模式的意图是为了确保一个类有且仅有一个实例对象,并为它提供一个全局访问点。提取关键信息:1.它只有一个实例对象。2.这个实例对象能被全局访问。以上两个就是单例模式的充要条件。如何实现?对于条件1,采取构造器私有的方式实现.原创 2021-01-31 15:30:30 · 105 阅读 · 0 评论 -
从零起步DIY腾讯会议(一)——群发消息
上线245天,腾讯会议用户数突破1亿,成为最快超过1亿用户的专业视频会议产品。随着5G时代和云办公时代的到来,借助生态的力量,腾讯会议的外延逐渐丰富,从而获取到新的行业需求,有望打破云视频会议天花板,未来想象空间很大。如今zoom仅凭解决视频会议一个场景就能市值超千亿美金,相信不远的将来,腾讯会议将成资本市场的“新宠儿”。在后疫情时代最值得探讨的就是远程办公和远程教学的后续发展,在企业与学校逐渐回归线下的情况下,线上形式是否将沉寂?我觉得答案是否定的,当线上会议能提供一个即时、顺畅的沟通体验时,线上会.原创 2021-01-31 12:00:11 · 756 阅读 · 0 评论 -
实现Runnable接口和继承Thread类的区别
众所周知,实现线程有两种形式,一种是实现Runnable接口,再覆盖run方法;一种是继承Thread类,再重写run方法。我先分别实现一下这两种方式:实现Runnable接口两个类在同一个包下// ClientThread类public class ClientThread implements Runnable{ @Override public void run(){ // 自定义功能代码块 }}// Server类public class Server{ // 假设在主方原创 2020-12-12 23:36:22 · 228 阅读 · 0 评论 -
AVL树的Java实现及面试相关
什么是AVL树AVL树,是最先发明的自平衡二叉树,得名于发明者Adelson-Velsky和Landis。他们在1962年的论文《An algorithm for the organization of information》中发表了它。AVL树应满足以下条件:1.首先它是一棵二叉搜索树(BST),即对于任意节点,左节点的值小于根结点的值,右节点的值大于根结点的值。2.它要么是一棵空树,要么对任意一个节点,其左右子树高度差的绝对值不超过1。3.对出现不平衡的节点根据不同情况进行旋转。左旋、右旋原创 2020-12-07 00:12:15 · 124 阅读 · 0 评论 -
生产者消费者模型(从单个到多个)
生产者—消费者问题产生的条件条件:生产者线程Pp和消费者线程Pc同步,各Pp(Pc)间互斥。互斥:可以简单理解为,某一公共资源不允许两个及以上并发线程同时访问。同步:因并发线程各自的执行结果互为对方执行条件(直接制约),使各进程按一定速度执行的过程。生产者:增加资源,超出最大容量时停止生产,直到小于最大容量再重新开始生产。消费者:消耗资源,容量为空时停止消耗,直到有了资源再重新开始消耗。synchronized关键字简单看一下,加对象锁的方式synchronized(MyClass.cl原创 2020-10-28 23:46:06 · 1991 阅读 · 6 评论 -
Java继承
继承悄悄话哪管什么真理无穷,进一寸有一寸的欢喜。实践是检验真理的唯一标准。学技术的确要找捷径,但脚踏实地的古训依然成立,不循规蹈矩,但要按部就班。学习中难免会遇到坎,但要相信这终将过去,当你站在更高的视角俯瞰,这不过培塿罢了。比如这次的继承,我初学觉得自己懂了,做个练习检验一下,处处有问题,尽管最终还是搞定了,但其实并未真正理解。今天碰巧又和后来的小伙伴一起听了继承,再理了一遍思路,终于...原创 2019-11-08 16:12:44 · 202 阅读 · 0 评论 -
JAVA类与对象简介
类与对象一些写在前面的碎碎念憧憬已久的大学生活终于渐渐全然展现在我面前,有喜悦,有失落,但接下来的日子一切都未可知,我希望这四年如星辰大海,而我是远征银河的勇士。所以首先检讨一下自己,类与对象拖了这么久才写,画图板都要做完了,猜数游戏都做了一个了,而 现在才来写类与对象(活该找不到对象www)。面向对象的语言明白几个概念什么是类?什么是对象?什么是属性?什么是方法?类什么...原创 2019-10-19 19:36:42 · 186 阅读 · 0 评论 -
用JAVA开发仿界面
准备原创 2019-09-24 19:46:31 · 229 阅读 · 0 评论