叶新东的个人博客 叶新东的个人博客 
  • 首页
  • 关于我
  • 碎言碎语
  • 学无止尽
  • 留言板
  • 登入
×
欢迎登录叶新东的博客
用户名:
密码:
首页 > 学无止尽 >  每页10条   共299条   当前第19页
  • 应该选

    HashMap底层原理以及 LinkedHashMap、HashTable 、HashSet 四者区别

    yexindonglai@163.com 2022-03-01 12:08 Java

     1164°

     0

      为了搞懂HashMap,作者经常夜不能寐,熬夜刷文章、看源码、撸代码、做测试,终于在今天下午的1点30分55秒搞HashMap究竟是何方神圣,我想,这也许就是代码的魅力吧,为了这玩意我可真是煞费苦心,虽然辛苦,但是也很开心,又研究透了一样东西,这种快乐简直让人流连忘返,不多说,开始表演!HashMap在各JDK版本的区别  在JDK1.7以前,HashMap是用【数组 +单向链表】实现的,而在JDK1.8是使用【数组+单向链表+红黑树】实现的,本文主要具体讲讲数组+单向链表的实现,有些童鞋会说了:“既然已经使用了红黑树了,为啥不直接讲红黑树结构呢?”,首先,这是好问题,让我们先把掌声给到这
  • 应该选

    java虚拟机内存结构和垃圾回收机制算法详解

    yexindonglai@163.com 2022-03-01 12:06 Java

     1098°

     0

      java是目前全球最火的语言,热度也是最高的,相信做开发的你肯定用过,那我就要问问,你仅仅是用过还是了解它的底层机制和执行原理呢?那么今天我们就揭开它神秘的面纱,看看jvm在我们开发的时候帮我们做了哪些事情;说到这里,有个小兄弟要问了:“我会用不就行了吗?了解它干啥呢?难不成我要自己写一个jvm出来?if和for语句我用得可顺手,了解它的底层机制有卵用?”;唉~,这位小兄弟,你先别急啊,首先呢,用只是基础,就像开发一样,增删改查就是一个开发人员的基础,难不成你想一辈子都干增删改查吗?学习这些还不是为了让我们收入蹭蹭往上涨,让我们通往架构师的路越来越顺畅;安安静静地坐下来,让我们开始学习吧!
  • 应该选

    java静态代码块执行顺序

    yexindonglai@163.com 2022-03-01 12:05 Java

     1069°

     0

     虽然说不管是静态变量还是静态方法,这些都是java基础的知识了,但我发现还是有很多人不懂静态的原理,静态的属性遵循以下规则:静态元素会在构造方法之前执行静态元素从上到下按顺序执行静态元素不需要初始化即可直接使用; 1、静态元素会在构造方法之前执行,举个例子就知道啦;我们看看下面的代码publicclassMain{static{System.out.println("1:静态代码块");}publicMain(){System.out.println("2:构造函数");}publicstaticvoidmain(String[]args){//初始化Mainmain=newMain();S
  • 应该选

    java 动态字节码技术和类加载

    yexindonglai@163.com 2022-03-01 12:04 Java

     1363°

     0

     字节码有什么用?1、对类的基本信息进行操作,可以新增、删除、修改类、属性和方法;2、应用场景:Lombok插件、AOP、动态修改class文件、网页上的在线执行java代码也是字节码实现的;2、Lombok插件就是用字节码实现,只用Data注解就可以给属性自动加上get和set方法4、常见的字节码操作类库:  BCEL: 深入汇编底层语言进行类库操作;   ASM: 轻量级字节码操作框架,直接涉及到jVM底层的操作和指令;高性能、高质量    CGLB:生成类库,基于ASM实现   javassist:开源框架,编辑和创建Java字节码的类库,我们这里主要介绍javassistjavassi
  • 应该选

    设计模式 -- 单例模式

    yexindonglai@163.com 2022-03-01 12:02 设计模式

     1171°

     0

    单例模式的特点   1、保证在jvm中只有一个实例;   2、应用场景:servlet、springioc(默认单例)、连接池、线程池、枚举、常量;   3、优点:节省内存,重复使用,方便管理   4、缺点:有线程安全问题; 单例模式的分类    1、懒汉式:将单例对象设为静态属性并加上final修饰符,初始化单例类时就立即创建对象实例,天生线程安全;调用率高      2、饿汉式:将单例对象设为静态属性并加上final修饰符,初始化单例类时不会立即创建对象实例,而是在使用的时候才创建实例,使用懒加载功能;此方式是线程不安全的      3、内部静态类方式:新建一个内部类,将单例对象设为静态属
  • 应该选

    设计模式 -- 工厂模式

    yexindonglai@163.com 2022-03-01 12:01 设计模式

     1219°

     0

    工厂的指责就是制作产品,那么产品就可以理解为是我们的对象,而工厂就是为了实例化对象而对象的,根据工厂的抽象程度可分为工厂方法模式和抽象工厂模式。该模式用于封装和管理对象的创建,是一种创建型模式。 1、简单工厂模式简单工厂模式:也叫静态工厂模式,简单工厂模式相当于试试一个工厂中有各种产品,创建在一个类中,客户无需知道具体产品的名称,只需要知道产品的参数即可,相当于所有的汽车都是由一个厂里面生产出来的的,这个厂既能生产宝马,又能生产奔驰,还能生产其他的品牌的汽车,但是工厂的职责过重,而且当类型过多时不利于系统的扩展维护;简单工厂模式是不属于23种设计模式里面的;简单工厂模式示例代码packagec
  • 应该选

    JSQLParser 解析sql语句框架详解

    yexindonglai@163.com 2022-03-01 12:00 Java

     2901°

     0

    因公司有需求,需要根据用户输入的sql中获取到表名,网上查询到有个框架很实用,于是就小试牛刀,此框架是githup团队研发的一款sql解析框架,也是公认最好用的,不单可以解析sql,还可以用来拼接sql; 使用前先导入maven,目前最新版本已经更新到4.0了,童鞋们根据自己实际情况来选择相应版本<dependency><groupId>com.github.jsqlparser</groupId><artifactId>jsqlparser</artifactId><version>1.2</version></dependency> 代码案例,因为我笔者这边只用到获取表名的功能,所以案例里
  • 应该选

    JAVA 127和128分别用== 号判断,竟然一个为true一个为false

    yexindonglai@163.com 2022-03-01 11:59 Java

     904°

     0

     先看代码publicstaticvoidmain(String[]args){Integerone=127;Integertwo=127;System.out.println(one==two);Integerone_1=128;Integertwo_1=128;System.out.println(one_1==two_1);}打印结果如下哎~,这就奇怪了,都是数字,同样符号来判断,竟然会有不同的结果;当我看源码之后才知道,当我写下这段代码Integerone=127;但其实,在底层的代码其实是这样的Integerone=Integer.valueOf(127);这时候我们进去valueO
  • 应该选

    java线程池底层运行过程以及参数详解

    yexindonglai@163.com 2022-03-01 11:58 Java

     836°

     0

    相信线程池这个东东只要只要是做过开发的童鞋们都熟悉,面试也是经常会问到的一个问题,用起来那是相当地简单啊,而且功能强劲,优化的又好,使用还去除了冗余的代码层级,提高了代码的可读性,创建线程池只需要用到四种newCachedThreadPool   创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。newFixedThreadPool     创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。newScheduledThreadPool 创建一个定长线程池,支持定时及周期性任务执行。newSingleThreadExecutor 创建
  • 应该选

    JAVA队列( Queue ) 详解

    yexindonglai@163.com 2022-03-01 11:57 Java

     884°

     0

    什么是队列?   队列是一种特殊的线性表,遵循先入先出、后入后出的基本原则,一般来说,它只允许在表的前端进行删除操作,而在表的后端进行插入操作,但是java的某些队列运行在任何地方插入删除;比如我们常用的LinkedList集合,它实现了Queue接口,因此,我们可以理解为 LinkedList就是一个队列;java队列特性队列主要分为阻塞和非阻塞,有界和无界、单向链表和双向链表之分;阻塞和非阻塞阻塞队列      入列(删除元素)时,如果元素数量超过队列总数,会进行等待(阻塞),待队列的中的元素出列后,元素数量未超过队列总数时,就会解除阻塞状态,进而可以继续入列;      出列(添加元素)
上一页 19 下一页
博客搜索
热门推荐
  • java日志框架JUL、JCL、Slf4j、Log4j、Log4j2、Logback 一网打尽

    4303

  • 手把手教你复现apache log4j2 漏洞

    2839

  • Elasticsearch 核心概念

    3777

  • Centos开启Swap交换分区教程

    3480

  • 9千字长文带你了解SpringBoot启动过程--史上最详细 SpringBoot启动流程-图文并茂

    2810

标签云
程序人生 人工智能 计算机理论与基础 资讯 音视频开发 区块链 安全 研发管理 编程语言 后端 数据库 移动开发 物联网 架构 云计算/大数据 互联网 游戏开发 运维 前端 Go Java linux Centos Docker Kubernetes SpringMVC Spring SpringBoot SpringCloud 设计模式 子墨掩码 IO Netty idea Redis Kafka Hystrix Mysql Eureka Oracle Mybatis Maven Nginx 消息队列 git flink Dubbo c++ QT 定时任务 DrawIO Lua skynet OpenCV CMake FFmpeg

Copyright © 2022 www.chn520.cn
粤ICP备18099573号 icode、爱程序、爱代码,联系管理员QQ:422301654