java
文章平均质量分 86
G探险者
不积跬步无以至千里
展开
-
聊一聊数据库事务的那些事(隔离级别,传播行为)
我们平时使用事务的时候,可能脑子里面想到和事务有关的知识点无非就是,ACID,事务隔离级别那一套,使用的事务也就是是通过注解的形式,或者手动开启事务。更细致一点的问题或许没有深究下去,比如事务的传播行为,注解形式和手动事务的区别等,今天我们就这几个方面进行介绍。原创 2023-06-04 15:23:30 · 2700 阅读 · 0 评论 -
数据库方言:了解不同数据库系统的特性和差异
数据库方言是指不同数据库系统在 SQL 语法、数据类型、函数和存储过程等方面存在的差异。这些差异导致了相同的 SQL 语句在不同的数据库系统中可能需要进行修改才能正确执行。常见的数据库系统包括 MySQL、Oracle、SQL Server、PostgreSQL 等,它们之间的差异构成了各自的数据库方言。原创 2023-04-19 23:57:18 · 858 阅读 · 0 评论 -
池技术:连接池,线程池,内存池,进程池等汇总分析
这样,池技术通过缓存和重用资源,减少了资源创建和销毁的时间。网站性能优化:在构建高性能网站时,可以使用 HTTP 连接池、数据库连接池、线程池等池技术,同时结合缓存(如 Redis 缓存、CDN 缓存)、异步编程(如 AJAX、异步 I/O)以及负载均衡(如反向代理、DNS 负载均衡)等技术,共同提高网站性能。大数据处理:在大数据处理场景中,可以使用线程池、进程池等并行计算技术,同时结合资源预留、负载均衡(如 Hadoop 分布式文件系统、Spark 调度器)等技术,以提高数据处理性能和资源利用率。原创 2023-04-18 00:27:56 · 348 阅读 · 0 评论 -
spring boot的拦截器与过滤器介绍与对比
在构建 Web 应用时,我们经常需要对请求进行拦截和处理,以实现诸如身份验证、授权、日志记录等功能。在 Spring Boot 中,为我们提供了两种强大的工具来实现这些功能:过滤器(Filter)和拦截器(Interceptor)。尽管这两者在某些方面的功能相似,它们在使用场景、处理层级和实现方式上却有所不同。在本文中,我们将详细介绍过滤器和拦截器的区别、各自的优势,以及如何在实际项目中使用这两种组件来处理请求。原创 2023-04-09 23:55:33 · 430 阅读 · 0 评论 -
揭秘代码的安全漏洞是如何被发现的:代码扫描工具fortify的详细介绍
通过持续地关注安全漏洞并采取有效的安全措施,公司和开发团队可以大大降低潜在的风险,并确保项目的安全性和质量。集成支持:Fortify 可以与多种持续集成(CI)工具(如 Jenkins、Bamboo 等)和应用生命周期管理(ALM)工具(如 Jira、Microsoft Azure DevOps 等)集成,实现自动化的代码扫描和漏洞跟踪。CVE 数据库的主要目的是为安全漏洞提供一个唯一的、标准化的命名约定,以便安全研究人员、开发人员和 IT 专业人员能更容易地共享和讨论漏洞信息。原创 2023-03-25 00:18:44 · 5952 阅读 · 0 评论 -
解析器生成器 ANTLR的详细介绍
ANTLR诞生的背景是,当时的语言工具包大多数都是基于YACC和LEX等老旧技术,无法支持新的编程语言和复杂的语法规则,同时,它们的性能和可扩展性也受到一定的限制。根据SQL语句的各个部分和解析结果,我们可以记录和分析SQL执行情况,包括执行的时间、执行的参数、执行的结果等信息。解析输入的SQL语句。另外,在自然语言处理领域中,还有许多其他的类似ANTLR的语言工具,例如Stanford Parser、NLTK、SpaCy等,它们都能够用于自然语言文本的处理和分析,提高自然语言处理的效率和准确性。原创 2023-03-22 01:44:31 · 3664 阅读 · 0 评论 -
聊一聊java程序中的换换符
在Java程序中,为了保证跨平台的兼容性,可以使用System.lineSeparator()方法获取当前系统的换行符,而不是直接使用"\r\n"或"\n"。BufferedReader的readLine()方法可以正常解析使用"\r\n"作为换行符的字符串,因为该方法在解析时会自动识别并处理不同的换行符,包括"\n"、"\r"、"\r\n"等。在Web开发中,由于不同的操作系统和浏览器可能会对换行符的处理方式有所不同,因此在处理字符串时,最好使用标准的"\n"作为换行符,以保证程序的兼容性。原创 2023-03-20 18:03:52 · 2563 阅读 · 0 评论 -
项目上如何处理优雅启停的问题?
优雅启停是指在软件运行过程中,通过一定的方式来停止或重启软件,以避免对系统造成不必要的负担或影响到正在进行的业务。优雅启停通常需要解决以下几个问题:如何正确地停止应用程序:在停止应用程序之前,需要确保所有正在进行的操作都已完成或停止,并且将所有需要持久化的数据保存到磁盘上。同时,还需要关闭与应用程序相关的所有资源和连接,例如数据库连接、网络连接、消息队列等等。如何避免业务中断:在停止或重启应用程序时,需要确保业务的连续性不受到影响。原创 2023-03-05 23:05:47 · 1411 阅读 · 0 评论 -
java 9 之后的新特性之平台模块化系统
Java平台模块化系统(Module System)是从Java 9开始引入的一项新特性,它允许将一个Java应用程序或库划分为多个模块,并使这些模块之间明确定义依赖关系,以提高代码的可维护性、安全性和可扩展性原创 2023-02-28 00:42:17 · 724 阅读 · 0 评论 -
你对MANIFEST.MF这个文件知道多少?
至于为什么要将清单文件命名为 "MANIFEST.MF",可能是因为这个文件最早是在早期的 UNIX 系统中使用的,而在 UNIX 中,".manifest" 是一种用于描述软件包或文件集合的文件名后缀。而 ".MF" 则是指该文件的格式是基于 Manifest 文件格式(MF,Manifest File Format)的,这也是 JAR 文件格式中的一部分。在 Java 中,MANIFEST.MF 文件就是一种用于描述 JAR 文件中包含的类和资源的清单文件,其中包含了一些元数据信息和属性。原创 2023-02-26 00:35:27 · 7339 阅读 · 1 评论 -
聊一聊国际化i18n
国际化是指在软件开发中对于不同语言和地区的支持。目的是为了让一款软件可以在不同的语言和地区环境下正常运行,使其适应全球各地的用户。原创 2023-02-19 19:51:59 · 1577 阅读 · 0 评论 -
oracle JDK 和 open jdk 的关系与区别 ?
OpenJDK 和 Oracle JDK 是 Java 开发工具包的两个主要实现。两者都是 Java SE 平台规范的实现,包含了 Java 虚拟机(JVM)、Java 编程语言和 Java 库。然而,它们之间有一些重要的区别原创 2023-02-13 15:33:57 · 4027 阅读 · 0 评论 -
如何把一个组件改造成为starter?
参与的一个项目,内容是把公司原有封装的一些组件改造升级为starter.原创 2021-07-07 23:52:48 · 525 阅读 · 2 评论 -
String,StringBuilder,StringBuffer三者之间的区别
这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面。运行速度StringBuilder > StringBuffer > StringString最慢的原因: String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之后该对象是不可更改的,但后两者的对象是变量,是可以更改的线程安全StringBuilder是线程不安全的,而StringBuffer是线程安全的。如果一个StringBuf原创 2020-12-17 11:09:01 · 91 阅读 · 0 评论 -
面试中问到==与equals()的区别与用法
1、背景介绍== 比较的是变量(栈)内存中存放的对象的(堆)内存地址,用来判断两个对象的地址是否相同,即是否是指相同一个对象。比较的是真正意义上的指针操作。equals 用来比较的是两个对象的内容是否相等,由于所有的类都是继承自java.lang.Object类的,所以适用于所有对象,如果没有对该方法进行覆盖的话,调用的仍然是Object类中的方法,而Object中的equals方法返回的却是==的判断。2、基本数据类型byte,short,char,int,long,fl...原创 2020-12-14 20:23:55 · 4162 阅读 · 0 评论 -
java中的异常分类以及区别
参考:https://www.jianshu.com/p/a874e5d1bed1原创 2020-12-12 14:40:13 · 194 阅读 · 0 评论 -
zookeeper与eureka的区别是什么
著名的CAP理论,要求分布式系统中必须保证P(分区容错性),由于CAP理论不能同时保证三者同时满足,所以真能在剩余的C(可用性)、A(一致性)之间权衡了不是CP,就是AP。zookeeper是满足AP的,由于分布式环境中,发生网络故障是不可避免的所以,当故障发生时,zookeeper为了保障节点数据一致性,当一个节点挂点之后,会进行master选举,而在这个过程中,去他节点是不可以对外提供服务的,只能当节点数据一致之后,才能服务。这样满足不了微服务集群中服务的可用性。eureka是满足CP的原创 2020-11-24 11:27:58 · 359 阅读 · 0 评论 -
HashMap的源码解读以及面试题
先看几道HashMap的面试题:1、请简述HashMap的底层存储数据结构?2、HashMap的key的hash值是如何计算的?为什么这样实现?3、HashMap的默认容量是多少?加载因子是什么?容量如何变化?容量不够怎么办?4、HashMap调用put方法底层数据的存放过程?5、HashMap链表节点过深时为什么选择使用红黑树?6、什么是红黑树,谈谈你对红黑树的理解?7、什么是hash碰撞,发生hash碰撞怎么办?8、JDK1.7和JDK1.8的HashMap有什么不同?原创 2020-07-16 00:00:28 · 186 阅读 · 0 评论