在JDK中,自带了一套相关的编译API,可以在Java中发起编译流程,解析Java源文件然后获取其语法树,在JDK的tools.jar(OSX下可以在/Library/Java/JavaVirtualMachines/jdk_version/Contents/Home/lib中找到)中包含着这整套API,但是这却不是Oracle和OpenJDK发布中的公开API,因此对于这套API,并没有官方的正
转载
2023-11-22 09:08:01
44阅读
MySQL启动流程主要代码在sql/mysqld.cc中,精简后的代码如下:int main(int argc, char **argv) //标准入口函数
MY_INIT(argv[0]);//调用mysys/My_init.c->my_init(),初始化mysql内部的系统库
logger.init_base(); //初始化日志功能
init_common_variables(MYS
转载
2023-07-23 19:25:58
161阅读
许可证:PMD已获得“ BSD风格”许可证的许可 PMD扫描Java源代码并查找潜在的问题,例如: *可能的错误-空的try / catch / finally / switch语句 *死代码–未使用的局部变量,参数和私有方法 *次优代码–浪费的String / StringBuffer使用 *过于复杂的表达式–不需要if语句,for循环可能是while循环 *重复代码–复制/粘贴的
转载
2023-11-22 23:51:23
51阅读
checkstyle - static code analysis tool for JavaPMD - A source code analyzer Read More
转载
2017-01-17 19:13:00
109阅读
2评论
前言程序员必须经历的事情,也是可以提升能力的一个捷径。个人认为: 要完全掌握一个软件的方法只有阅读源码。 在Windows下有sourceinsight这个源码阅读软件(虽然我没用过,但是网上评价还不错),由于我是个Linuxer,并不喜欢用Windows,所以自然是选择在Linux下阅读源码的工具了。 下面我将逐一介绍在Linux下阅读源码的工具。 vim+ctags+cscope
转载
2023-05-04 20:10:07
187阅读
感觉之前对java的了解不够深入,所以往后会不定期的阅读java源码来提升对java语言的理解。我对java源码阅读的计划路线是:1.java工具类,java.util里的类的源码,如下图,这些类中可能还涉及到一些算法,例如排序算法等2.然后是core包,也就是String、StringBuffer等。3.Java IO 包,是对继承和接口运用得最优雅的案例。4.java虚拟机,jvm
转载
2023-05-26 15:29:42
237阅读
今天学习下ArrayList的源代码,不同于其他人写的博客,很多都是翻译源代码中的注释,然后直接贴到文章中去。小编打算换一种书写风格,带着问题看源码可能收获会更大,本文将围绕着下面几个问题展开讨论。一、问题产生1、为什么ArrayList集合中存储元素的容器声明为transient Object[] elementData;?2、既然ArrayList可以自动扩容,那么它的扩容机制是怎样实现的?3
转载
2024-05-29 23:14:40
29阅读
Hashtable简单介绍 Hashtable相同是基于哈希表实现的,相同每一个元素是一个key-value对,其内部也是通过单链表
转载
2015-09-12 08:43:00
257阅读
2评论
一.SonarQube简介SonarQube 是一款用于代码质量管理的开源工具,它主要用于管理源代码的质量。 通过插件形式,可以支持众多计算机语言,比如 java, C#, go,python, JavaScrip, Groovy 等。sonar可以通过PMD,CheckStyle,Findbugs,pylint等等代码规则检测工具来检测你的代码,帮助你发现代码的漏洞,Bug,异味等信息
转载
2024-08-02 14:59:04
320阅读
//-----------------------------------------------------------转载请注明出处:http://blog.csdn.net/chdjjby Rowandjj2014/8/8//----------------------------------...
转载
2015-08-14 21:34:00
447阅读
2评论
Java集合集合————单值存储————CollectionList相对于 Collection,添加的方法ArrayList底层实现是数组:为什么默认是长度为 10?为什么扩容 1.5 倍?VectorLinkedListIterator 和 ListIteratorIteratorIteraotr 实现删除ListIteratorSetSet集合该怎么获取元素?HashSetTreeSetT
转载
2023-08-16 15:48:55
78阅读
WebInspect是一款动态应用程序安全测试工具,最初是HP旗下的产品,后经Micro Focus收购,与有名的代码审计工具Fortify同属一个系列。它是通过模拟来自真实环境的攻击行为,来检测漏洞,归纳出漏洞的类型,提供漏洞修复的优先级建议和修复建议。比较方便集成到组织的DevOps流程中,也可以实现实时的动态监控。可以自动化运行,对于误报可以人工标记,误报率相对来说比较少,是一款比较好用的安
转载
2023-12-05 12:33:50
264阅读
indexOf()??? -> 查找target在source里的index。
/**
* Code shared by String and StringBuffer to do searches. The
* source is the character array being searched, and the target
* is the string being searche
一、IO多路复用传统的BIO服务器处理客户端IO请求时会为每一个客户端请求都分配一个线程去处理,当客户端数量增加时会导致服务端线程数过多而带来性能隐患,所以迫不得已需要一个线程处理多个客户端请求,也就衍生了多路复用IO模型,Java中的NIO核心就是使用到了操作系统的多路复用IO。IO多路复用的本质是内核缓冲IO数据,应用程序开启线程监控多个文件描述符,一个IO链接对于一个文件描述符,一旦某个文件
# 如何实现Java源代码的语义分析
语义分析是编程语言处理的重要一步,它主要用于理解代码的含义,确保代码逻辑的合理性和正确性。对于初入编程行业的新手来说,可能会觉得这个过程复杂,但若分步骤进行分析,就能更容易理解。本文将详尽讲述如何实现Java源代码的语义分析。
## 流程步骤
以下是实现Java源代码语义分析的关键步骤:
| 步骤 | 描述 |
|------|------|
| 1
原创
2024-08-27 04:09:04
17阅读
在本博文中,我们将深入探讨天气分析的 Java 源代码问题。天气分析应用通常需要获取、处理和可视化天气数据,以帮助用户理解天气变化。因此,涉及到的技术细节和实现方式都是关键。
### 问题背景
随着天气变化的需求不断增加,开发一个有效的天气分析 Java 应用变得愈发重要。该应用除了要实时分析天气数据外,还需要以易于理解的形式展示这些信息。例如,当用户输入某个地区的天气查询时,系统应能准确显示
# gRPC Java 源代码分析
## 引言
gRPC是一种高性能、通用的开源RPC框架,由Google开发并开源,它支持多种编程语言,包括Java。本文将通过对gRPC Java源代码的分析,介绍gRPC的基本概念和使用方法,并展示一些示例代码。
## 什么是gRPC
gRPC是Google开源的一种高性能、通用的RPC(Remote Procedure Call)框架。RPC是一种用
原创
2023-12-24 05:14:30
217阅读
Dubbo架构基本分析1. dubbo简单介绍1.1 dubbo是什么dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。 其核心部分包含:远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。集群容错: 提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载
很遗憾 自己没有mac电脑 只能用Windows搭建Android环境开发app 由于水平不足 第一次搭配花了很多的时间。勉强能写一个hello worldpublic class MainActivity extends Activity { @Override &n
原创
2016-04-22 21:34:28
1169阅读
本文将提供一些工具,帮助你优化代码以及检查源代码中的潜在问题。1. PMD from http://pmd.sourceforge.net/PMD能够扫描Java 源代码,查找类似以下的潜在问题:可能的bug——try/catch/finally/switch语句中返回空值。死代码——未使用的局部变量、参数、私有方法。不理想的代码——使用String/Str
转载
2021-04-25 22:44:45
360阅读