
后端
文章平均质量分 86
Moonxiyue
这个作者很懒,什么都没留下…
展开
-
面试必备:Java线程池解析
LinkedBlockingQueue(可设置容量队列)基于链表结构的阻塞队列,按FIFO排序任务,容量可以选择进行设置,不设置的话,将是一个无边界的阻塞队列,最大长度为Integer.MAX_VALUE,吞吐量通常要高于ArrayBlockingQuene;在使用线程池处理任务的时候,任务代码可能抛出RuntimeException,抛出异常后,线程池可能捕获它,也可能创建一个新的线程来代替异常的线程,我们可能无法感知任务出现了异常,因此我们需要考虑线程池异常情况。...原创 2022-07-29 21:39:40 · 614 阅读 · 2 评论 -
Java Bean 转 Map 的巨坑,注意了!!!
如使用fastjson,当属性为Long类型但数字小于Integer最大值时,反序列成Map之后,将变为Integer类型。(2)在某些场景下,Map的key并非和属性名完全对应,像是通过getset方法“推断”出来的属性名。JavaBean转Map的坑很多,最常见的就是类型丢失和属性名解析错误的问题。平时使用某些框架时,多写一些DEMO进行验证,多读源码,多调试,少趟坑。如果想严格和属性保持一致,可以使用反射获取属性名和属性值,加缓存机制提升解析的效率。...原创 2022-07-29 14:55:44 · 822 阅读 · 0 评论 -
零基础学Java(12)静态字段与静态方法
前面曾经多次提到过,由于每个类对象都可以修改公共字段,所以,最好不要有公共字段。,每个类只有一个这样的字段。而对于非静态的实例字段,每个对象都有自己的一个副本。例如,假设需要给每一个员工赋予唯一的标识码。类的静态方法不能访问id实例字段,因为它不能在对象上执行操作。最后,打印出下一个可用的员工标识码来展示静态方法。静态变量使用的比较少,但静态常量却很常用。类对象,则有1000个实例字段id,分别对应每一个对象。对象都有一个自己的id字段,但这个类的所有实例将共享一个。它属与类,而不属于任何单个的对象。...原创 2022-07-28 16:37:00 · 411 阅读 · 0 评论 -
JAVA多线程
基本概念在我们操作系统中运行的程序就是进程,比如播放器,游戏等等......一个进程可以有多个线程,如视频中同时可以听声音,看图像,看弹幕等等.......程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。但是进程则是执行程序的一次执行过程,他是一个动态的概念。是系统资源分配的单位通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义。线程是CPU调度和执行的单位注意:很多多线程是模拟出来的,真正的多线程是指有多个cpu,即多核,如服务器等等......很原创 2022-07-28 16:29:35 · 264 阅读 · 0 评论 -
Javaweb-JSP详解Toretto
request客户端向服务器发送请求,产生的数据,用户看完就没用了,比如新闻,用户看完就没用了,比如新闻用户看完一条新闻,那这条新闻就没用了session客户端向服务器发送请求,产生的数据,用户用完一会还有用,比如购物车application客户端向服务器发送请求,产生的数据,一个用户用完了,其它用户还可能使用,比如聊天数据;其它的,就会被生成到_jspService()方法中在JSP中嵌入Java代码即可。注意JSP的注释不会在浏览器页面显示,HTML的会显示。...原创 2022-07-28 15:18:43 · 238 阅读 · 0 评论 -
面试题:Java中为什么只有值传递?
如果参数是引用类型,传递的就是实参所引用的对象在栈中地址值的拷贝,这里创建的副本是地址的拷贝。我们可以换个角度理解,如果我们把栈地址当成值,会创建栈地址副本(复制栈帧),栈地址最终并没有改变,改变的是堆内存中的值。虽然调用完函数后,str2变量值(堆中的数据)改变了,但是参数是引用类型,传递的实参是栈中地址值,这是我们关心的,拷贝的是栈中地址值,最终栈中地址值并没有改变。引用传递方法接收的是实际参数所引用的地址,不会创建副本,对形参的修改将影响到实参,即不创建副本,会影响原生对象。...转载 2022-07-28 14:22:10 · 182 阅读 · 0 评论 -
java基础之AQS
va开发中,我们的应用程序经常会使用多线程提高程序的运行效率,多线程情况下访问线程共享变量可能会带来并发问题,此时就需要并发锁解决并发问题。Java提供了两种类型的并发控制机制synchonrized关键字和AQS框架,二者各有优势,不过在加锁解锁场景比较灵活的情况下,我们往往会采用AQS框架来解决并发问题。本文会对Java中的AQS框架的结构和源码进行简单介绍。本文大多数内容参考了。......原创 2022-07-27 20:11:40 · 194 阅读 · 0 评论 -
Java中AES加密和解密的方法分享
/返回基本编码格式的密钥,如果此密钥不支持编码,则返回。kgen.init(128,newSecureRandom(password.getBytes()));System.out.println("解密后的内容"+newString(decrypt,"utf-8"));System.out.println("加密后的2进制密文"+newString(encrypt));System.out.println("加密后的2进制密文"+newString(byte2));...原创 2022-07-26 16:47:19 · 3220 阅读 · 0 评论 -
Java8日期时间(LocalDate、LocalTime、LocalDateTime)
Java中1.8之前有date类,date类到了1.8大部分的方法被弃而且date类如果不格式化可读性十分差,而simpledateformat方法中format和parse方法都是线程不安全的。Java1.8之后出现了localdate,localdatetime,localtime这些类,而这些类使用了final来修饰,使得这些类是不可变的,一旦实例化,值就固定了,有点类似于String类,所以这些类都是线程安全的。...原创 2022-07-26 15:50:42 · 3989 阅读 · 0 评论 -
Java 插入公式到PPT幻灯片
owerPoint幻灯片中可插入公式,用于在幻灯片放映时演示相关内容的论证、推算的依据,能有效地为演讲者提供论述的数据支撑。通过后端程序代码,我们可借助特定的工具来实现在幻灯片中的插入公式,本文,将对此作详细介绍。...原创 2022-07-26 15:40:13 · 263 阅读 · 0 评论 -
java面试题
start()方法用于启动线程,run()方法用于执行线程的运行代码,run()可以反复调用,而start()方法只能被调用一次。sleep是线程中的方法,但是wait是Object中的方法,sleep方法不会释放lock,但是wait会释放,linklist双链表,对象存在独立的空间中,保存下一个连接的索引,但查询非常麻烦,从第一个索引开始擦寻。hash值主要是用来在散列存储结构中确定对象的存储地址的,提高对象的查询效率,如HashMap、其中模型层代表的是数据,...原创 2022-07-26 15:13:26 · 139 阅读 · 0 评论 -
[Java学习笔记] Java异常机制(也许是全网最独特视角)
一句话简单理解异常是程序运行中的一些异常或者错误。(纯字面意思)原创 2022-07-26 15:08:43 · 174 阅读 · 0 评论 -
Java 中的异常处理机制
异常是程序在运行过程中出现的程序异常事件,异常会中断正在执行的正常指令流。Java中的异常分为两大类Exception和Error。下面是Exception和Error的类定义Exception和Error都继承了Throwable类,在Java中只有Throwable类型的实例才可以被抛出(throw)或者被捕获(catch)。Exception和Error体现了Java平台设计者对不同异常情况的分类。内存溢出(OutOfMemoryError)...原创 2022-07-26 15:02:41 · 822 阅读 · 0 评论 -
强烈推荐!史上最有深度的Java学习视频,Mybatis、Javaweb、SSM框架项目
主讲课程为Mybatis框架。这门课程有两门前驱的课JavaSE和Javaweb,后继还有Spring框架和SpringMVC框架,微服务框架和互联网分布式技术。原创 2022-07-26 14:40:58 · 724 阅读 · 0 评论 -
零基础学Java(10)面向对象-使用LocalDate类完成日历设计 _
在我们完成这个日历设计前,需要了解Java中的预定义类LocalDate的一些用法。原创 2022-07-26 14:16:00 · 220 阅读 · 0 评论 -
使用JAVA CompletableFuture实现流水线化的并行处理,深度实践总结
好啦,关于JAVA中的使用,以及并行编程相关的内容呢就介绍到这里啦。看到这里,相信您应该有所收获吧?那么你的项目里有这种适合并行处理的场景吗?你在处理并行场景的时候是怎么做的呢?评论区一起讨论下吧~~本文中有提及执行时所使用的默认线程池是,早在JAVA7版本就已经被引入,但是很多人对不是很了解,实际项目中使用的也比较少。其实对的合理利用,可以让我们在面对某些多线程场景时会更加的从容高效。在后面的文章中,我会针对有关的内容进行专门的介绍与探讨,如果有兴趣,可以点个关注,及时获取后续的内容。https。...原创 2022-07-26 14:02:46 · 4332 阅读 · 4 评论 -
零基础学Java(11)自定义类
之前的例子中,我们已经编写了一些简单的类。但是,那些类都只包含一个简单的main方法。现在来学习如何编写复杂应用程序所需要的那种主力类。通常这些类没有main方法,却有自己的实例字段和实例方法。要想构建一个完整的程序,会结合使用多个类,其中只有一个类有main方法。//字段field1field2...//构造方法...//普通方法method1method2...}接下来将上面的伪代码填充完整name=n;}}}文件staff){...原创 2022-07-26 13:40:38 · 789 阅读 · 0 评论 -
常用的分布式事务解决方案
事务由一组操作构成,我们希望这组操作能够全部正确执行,如果这一组操作中的任意一个步骤发生错误,那么就需要回滚之前已经完成的操作。也就是同一个事务中的所有操作,要么全都正确执行,要么全都不要执行。说到事务,就不得不提一下事务著名的四大特性。原子性 原子性要求,事务是一个不可分割的执行单元,事务中的所有操作要么全都执行,要么全都不执行。一致性 一致性要求,事务在开始前和结束后,数据库的完整性约束没有被破坏。隔离性 事务的执行是相互独立的,它们不会相互干扰,一个事务不会看到另一个正在运行过程中的事务的数据。持久性原创 2022-06-23 19:47:50 · 617 阅读 · 1 评论 -
Spring IoC有什么好处呢?
作者:Mingqi链接:https://www.zhihu.com/question/23277575/answer/169698662 要了解控制反转( Inversion of Control ), 我觉得有必要先了解软件设计的一个重要思想:依赖倒置原则(Dependency Inversion Principle )。什么是依赖倒置原则?假设我们设计一辆汽车:先设计轮子,然后根据轮子大小设计底盘,接着根据底盘设计车身,最后根据车身设计好整个汽车。这里就出现了一个“依赖”关系:汽车依赖车身,车身依原创 2022-06-22 16:52:47 · 706 阅读 · 0 评论 -
一图搞懂扫码登录的技术原理
现在扫码登录是一种很常见的登录方式。当用户需要登录某个网站时,网站会提供一种扫码登录的方式,用户打开相应的手机App,扫描网站上显示的二维码,然后在App中确认登录,网站监测到用户确认登录后,跳转到登录成功页面。从这个形式上看,扫码登录就是将用户在手机App中的登录状态同步到网站中,这篇文章就来一窥这个同步是如何发生的。假设有一款产品,这个产品通过手机端App和PC端应用为用户提供服务,为了方便用户在PC端上登录,产品提供了一个扫码登录的功能,即PC端应用上展示一个登录二维码,用户使用手机端App扫码并确认转载 2022-06-15 15:46:00 · 3045 阅读 · 2 评论 -
SpringBoot 实现 Office 各种格式在线预览
支持word excel ppt,pdf等办公文档支持txt,java,php,py,md,js,css等所有纯文本支持zip,rar,jar,tar,gzip等压缩包支持jpg,jpeg,png,gif等图片预览(翻转,缩放,镜像)支持mp3,mp4,flv等多媒体文件预览使用spring boot开发,预览服务搭建部署非常简便rest接口提供服务,跨平台特性(java,php,python,go,php,....)都支持,应用接入简单方便支持普通http/https文件下载url、http/https文原创 2022-06-07 15:48:31 · 331 阅读 · 0 评论 -
万字+28张图带你探秘小而美的规则引擎框架LiteFlow
前言在每个公司的系统中,总有一些拥有复杂业务逻辑的系统,这些系统承载着核心业务逻辑,几乎每个需求都和这些核心业务有关,这些核心业务业务逻辑冗长,涉及内部逻辑运算,缓存操作,持久化操作,外部资源调取,内部其他系统RPC调用等等。时间一长,项目几经易手,维护的成本就会越来越高。各种硬代码判断,分支条件越来越多。代码的抽象,复用率也越来越低,各个模块之间的耦合度很高。一小段逻辑的变动,会影响到其他模块,需要进行完整回归测试来验证。如要灵活改变业务流程的顺序,则要进行代码大改动进行抽象,重新写方法。实时热变更业务流原创 2022-06-07 15:35:42 · 500 阅读 · 1 评论 -
线程安全,这词你懂了吗?
还记得你第一次遇到「线程安全」这个词的时候吗?我第一次遇到线程安全这个词是在学习多线程并发操作的时候,看到人家文章里出现这个词,还有说各种线程安全的类,但是一开始并不理解线程安全是什么意思,也没去深究线程怎样是安全的?怎样是不安全的?只是脑子里接收了这么一个词。默认已学前置知识下面开始回炉重造!打好基础!先给出个问题,为什么有线程安全这个词?这个词是怎么来的?可能这里会有点懵,不过没事,我来回答。在多线程的情况下,我们会遇到这样一个问题,这里举例 A、B、C 三个线程,它们共同操作同一个资源(呐,这里同一个原创 2022-06-07 15:24:22 · 106 阅读 · 0 评论 -
字节跳动数据库的过去、现状与未来
数据库技术一直是信息技术中极其重要的一环,在步入云原生时代后,云基础设施和数据库进一步整合,弥补了传统数据库的痛点,带来了高可扩展性、全面自动化、快速部署、节约成本、管理便捷等优势。从 2018 到 2021 年,伴随业务和数据的迅猛增长,字节跳动的分布式数据库系统取得了令人振奋的发展。如下图所示,在这 4 年间,公司应用侧容器数量从 5 万个增长到了 750 万个,截至目前已经突破 1000 万。这 1000 万个容器筑成了字节跳动坚实的云原生基础设施,支撑着整个业务体系的发展。从在线数据角度看,1000原创 2022-06-06 20:23:51 · 556 阅读 · 0 评论 -
spring boot 系列之八:SpringBoot处理定时任务
项目经常会用到定时任务,springboot自然是可以通过整合相关组件来实现的。目前常用的定时任务的实现有两种:无论上面说的哪种实现方式,都需要用到cron表达式,因此不得不先介绍下它。Cron表达式是一个字符串,由6或7个域组成,每个域有不同的含义,每个域之间用空格隔开。有2中格式:每个域可能出现的值:除了以上内容外,还可能出现一些特殊字符:举例:以上看上去有点复杂,不过不用担心,记住常用的就行了。另外,现在网上还有 在线Cron表达式生成器可以帮助我们设定确定相关表达式内容。2.代码实原创 2022-06-06 17:12:28 · 605 阅读 · 0 评论 -
分布式之系统底层原理(下)
共识(Consensus),很多时候会见到与一致性(Consistency)术语放在一起讨论。严谨地讲,两者的含义并不完全相同。一致性的含义比共识宽泛,在不同场景(基于事务的数据库、分布式系统等)下意义不同。具体到分布式系统场景下,一致性指的是多个副本对外呈现的状态。如前面提到的顺序一致性、线性一致性,描述了多节点对数据状态的共同维护能力。而共识,则特指在分布式系统中多个节点之间对某个事情(例如多个事务请求,先执行谁?)达成一致意见的过程。因此,达成某种共识并不意味着就保障了一致性。实践中,要保证系统满足不原创 2022-06-02 20:46:17 · 225 阅读 · 0 评论 -
分布式之系统底层原理(上)
作者:allanpan,腾讯 IEG 高级后台工程师分布式事务是分布式系统必不可少的组成部分,基本上只要实现一个分布式系统就逃不开对分布式事务的支持。本文从分布式事务这个概念切入,尝试对分布式事务以及分布式系统最核心的底层原理逐一进行剖析,内容包括但不限于 BASE 原则、两阶段原子提交协议、三阶段原子提交协议、Paxos/Multi-Paxos 分布式共识算法的原理与证明、Raft 分布式共识算法和分布式事务的并发控制等内容。事务是访问并可能更新各种数据项的一个程序执行单元(unit)。事务由一个或多个步原创 2022-06-02 20:45:19 · 202 阅读 · 0 评论 -
数据库资源负载管理(上篇)
openGauss 提供了资源负载管理手段,来均衡任务对系统资源的利用。openGauss 对于系统资源的管理范围包含 CPU 资源、内存资源、IO 资源和存储资源。通过对系统的资源进行合理的分配,避免发生资源的不合理占用导致系统运行效率下降或者引发系统运行问题。控制组(Cgroups)是 control groups 的缩写,是 Linux 内核提供的一种可以限制、记录、隔离进程组所使用的物理资源(如:CPU、内存、IO 等)的机制。如果一个进程加入了某一个控制组,该控制组对 Linux 的系统资源都有严原创 2022-06-02 19:09:46 · 172 阅读 · 0 评论 -
10个人9个答错,另外1个只对一半:数据库的锁,到底锁的是什么?
在MySQL数据库中,为了解决并发问题,引入了很多的锁机制,很多时候,数据库的锁是在有数据库操作的过程中自动添加的。所以,这就导致很多程序员经常会忽略数据库的锁机制的真正的原理。比如,我经常在面试中会问候选人,你知道MySQL Innodb的锁,到底锁的是什么吗?关于这个问题的回答,我听到过很多种,但是很少有人可以把他回答的很完美。因为想要回答好这个问题,需要对数据库的隔离级别、索引等都有一定的了解才行。MySQL Innodb的锁的相关介绍,在MySQL的官方文档(https://dev.mysql.co原创 2022-06-02 16:33:33 · 153 阅读 · 0 评论 -
一文最全总结之Spring从入门到入土(上)
文章目录1.1 介绍2.1 什么是IoC2.2 IoC入门案例1(基础案例)2.3 IoC入门案例2(依赖注入)2.4 IoC入门案例3(面向接口编程)2.5 IoC入门案例4(整合JUnit4)3.1 Bean的创建3.2 依赖注入(DI)3.2.1 按照名称注入3.2.2 按照类型注入3.2.3 普通数据注入4.properties数据注入1.1 @Bean(工厂Bean)3.2.5 基本使用:类型注入3.2.6 基本使用:指定名称注入3.2.7 依赖注入:引用类型3.2.8 依赖注入:简单类型1.1原创 2022-06-02 14:42:34 · 208 阅读 · 0 评论 -
Redis 的缓存异常处理 —— 缓存雪崩、缓存击穿、缓存穿透
在实际应用 Redis 过程中,如果将 Redis 作为数据库的缓存,经常会遇到这几个问题:缓存雪崩、缓存击穿、缓存穿透等。缓存雪崩缓存雪崩指的是,大量的应用无法在 Redis 缓存中处理,然后大量请求发送到了数据库,导致数据库的压力激增,甚至可能导致数据库崩溃,从而导致整个系统崩溃,引发雪崩一样的连锁效应。而引起缓存雪崩的原因,一般如下:1、缓存中大量 key 同时过期2、Redis 实例挂掉了,无法处理请求对于原因 1,在实际应用中应当避免大量 key 同时过期的场景。如果确实有这种业务场景,可以微原创 2022-06-02 14:24:14 · 237 阅读 · 0 评论 -
看Spring源码不得不会的@Enable模块驱动实现原理讲解
这篇文章我想和你聊一聊 spring的@Enable模块驱动的实现原理。在我们平时使用spring的过程中,如果想要加个定时任务的功能,那么就需要加注解@EnableScheduling,如果想使用异步的功能,那就要加@EnableScheduling注解,其实这类注解就是属于@Enable模块。模块是指具备相同领域的功能组件集合,组合所形成一个独立的单元。比如Web MVC模块、AspectJ代理模块Caching缓存模块,JMX(Java管理扩展)、Async异步处理模块等。所谓模块装配,简而言之就是,原创 2022-06-01 22:01:27 · 298 阅读 · 1 评论 -
怎么画出好的架构图,架构师必备。。
你是否对大厂展示的五花八门,花花绿绿的架构设计图所深深吸引,当我们想用几张图来介绍下业务系统,是不是对着画布不知从何下手?作为技术扛把子的筒子们是不是需要一张图来描述系统,让系统各个参与方都能看的明白?如果有这样的困惑,本文将介绍一些画图的方法论,让技术图纸更加清晰。在TOGAF企业架构理论中, 架构是从公司战略层面,自顶向下的细化的一部分,从战略=> 业务架构=>应用/数据/技术架构,当然老板层关注的是战略与业务架构,我们搬砖的需要聚焦到应用/数据/技术架构这一层。系统架构图是为了抽象的表示软件系统的整体原创 2022-06-01 21:49:30 · 284 阅读 · 0 评论 -
是时候为Spring Boot 3.0做准备了
2018年2月28日Spring Boot进入2.0时代,距今已经超过4年了。 2022 年 11 月 Spring Boot 3.0 将正式发布,它将基于 Spring Framework 6.0,并且需要 Java 17 或更高版本,同时它也将是Jakarta EE 9的第一个 Spring Boot 版本。还有六个月的时间留给开发者来过渡到 Spring Boot 3.0,今天胖哥将告诉你一些方法,以便于将来快速迁移到3.0。Java 17 将是继 Java 8 以来最重要的LTS版本,是 Java原创 2022-06-01 20:11:52 · 188 阅读 · 0 评论 -
Spring -> Spring Boot > Spring Cloud
想学习就必须得知道什么是微服务,什么是Spring Boot,什么是Spring Cloud,以及两者之间有什么关系?网上找了一些答案,仅供参考。内容转自纯洁的微笑:https://www.cnblogs.com/ityouknow/p/7508306.html简而言之,微服务架构风格是一种将单个应用程序作为一套小型服务开发的方法,每种应用程序都在自己的进程中运行,并与轻量级机制(通常是HTTP资源API)进行通信。 这些服务是围绕业务功能构建的,可以通过全自动部署机制独立部署。 这些服务的集中管理最少,可原创 2022-06-01 19:23:10 · 89 阅读 · 0 评论 -
为什么阿里巴巴不建议在for循环中使用”+”进行字符串拼接
作者:Hollis本文,也是对于Java中字符串相关知识的一个补充,主要来介绍一下字符串拼接相关的知识。本文基于jdk1.8.0_181。字符串拼接字符串拼接是我们在Java代码中比较经常要做的事情,就是把多个字符串拼接到一起。我们都知道,String是Java中一个不可变的类,所以他一旦被实例化就无法被修改。不可变类的实例一旦创建,其成员变量的值就不能被修改。这样设计有很多好处,比如可以缓存hashcode、使用更加便利以及更加安全等。但是,既然字符串是不可变的,那么字符串拼接原创 2022-05-31 19:57:20 · 176 阅读 · 0 评论 -
画图带你彻底弄懂三级缓存和循环依赖的问题
大家好。我们都知道,Spring可以通过三级缓存解决循环依赖的问题,这也是面试中很常见的一个面试题,本文就来着重讨论一下有关循环依赖和三级缓存的问题。一、什么是循环依赖大家平时在写业务的时候应该写过这样的代码。其实这种类型就是循环依赖,就是AService 和BService两个类相互引用。二、三级缓存可以解决的循环依赖场景如上面所说,大家平时在写这种代码的时候,项目其实是可以起来的,也就是说其实三级缓存是可以解决这种循环依赖的。当然除了这种字段注入,set注...原创 2022-05-31 19:22:48 · 123 阅读 · 0 评论 -
MySQL执行过程及执行顺序
一、MySQL执行过程MySQL整体的执行过程如下图所示11.1 连接器1.1.1连接器的主要职责1、负责与客户端的通信,是半双工模式,这就意味着某一固定时刻只能由客户端向服务器请求或者服务器向客户端发送数据,而不能同时进行,其中MySQL在与客户端连接TC/IP的。2、验证请求用户的账户和密码是否正确,如果账户和密码错误,会报错:Access denied for user 'root'@'localhost' (using password: YES)3、如果用户的账原创 2022-05-31 17:26:32 · 3813 阅读 · 1 评论 -
我说我精通字符串,面试官问我Java中的String有没有长度限制?
String是Java中很重要的一个数据类型,除了基本数据类型以外,String是被使用的最广泛的了,但是,关于String,其实还是有很多东西容易被忽略的。就如本文我们要讨论的问题:Java中的String有没有长度限制?这个问题要分两个阶段看,分别是编译期和运行期。不同的时期限制不一样。编译期首先,我们先来合理的推断一下,当我们在代码中使用String s = “”;的形式来定义String对象的时候,””中字符的个数有没有限制呢?既然是合理的推断,那就要要足够的依据,所以我们可以从原创 2022-05-31 17:12:29 · 91 阅读 · 0 评论 -
Java程序员应该学习的10大技术
对于Java开发人员来说,最近几年的时间中,Java生态诞生了很多东西。每6个月更新一次Java版本,以及发布很多流行的框架,如Spring 5、Spring Security 5和Spring Boot 2等,这些都给我们带来了很大的挑战。在2019年初,我认为Java 10还是比较新的,但是,在我学习完所有Java 10的特性之前,Java 11、Java 12、Java 12 已经接踵而至,对于工作繁忙的程序员们来说,大多数人都根本没有时间看这些。基本是都是了解一些有用的新特性而已。Java的原创 2022-05-31 17:04:02 · 1116 阅读 · 0 评论