网文干货
文章平均质量分 78
心神沫沫
既然没有创造知识的能力,那就当知识的搬运工吧!
本博客文章均为笔者学习过程中自行搜索查找并抱着收藏的心态进行转载的,如果无意中侵犯了您的权益,我深感抱歉并请您通过站内信联系我,我会在第一时间删除相关文章。
展开
-
Redis + Tomcat + Nginx 集群实现 Session 共享 侵删
一、Session共享使用tomcat-cluster-redis-session-manager插件实现插件地址见:https://github.com/ran-jit/tomcat-cluster-redis-session-manager该插件支持Tomcat7、Tomcat8、Tomcat9或者直接在附件中下载(版本为2.0.2,2017-11-27日前最新版本)http://dl.iteye.com/topics/download/d9fffd9d-84dd-385b-b1转载 2020-07-15 08:54:25 · 130 阅读 · 0 评论 -
JAVA 线上故障排查完整套路!牛掰! 侵删
线上故障主要会包括 CPU、磁盘、内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍。同时例如 jstack、jmap 等工具也是不囿于一个方面的问题的,基本上出问题就是 df、free、top 三连,然后依次 jstack、jmap 伺候,具体问题具体分析即可。CPU一般来讲我们首先会排查 CPU 方面的问题。CPU 异常往往还是比较好定位的。原因包括业务逻辑问题(死循环)、频繁 gc 以及上下文切换过多。而最常见的往往是业务逻辑(或者框架逻辑)导转载 2020-07-15 08:54:34 · 154 阅读 · 0 评论 -
Mybatis基础知识点:trim标签的使用 侵删
mybatis的trim标签一般用于去除sql语句中多余的and关键字,逗号,或者给sql语句前拼接 “where“、“set“以及“values(“ 等前缀,或者添加“)“等后缀,可用于选择性插入、更新、删除或者条件查询等操作。以下是trim标签中涉及到的属性:下面使用几个例子来说明trim标签的使用。1、使用trim标签去除多余的and关键字有这样的一个例子:<selectid="findActiveBlogLike"resultType="Blog">...转载 2020-07-15 08:54:42 · 185 阅读 · 0 评论 -
Java 代码精简之道 侵删
前言古语有云:道为术之灵,术为道之体;以道统术,以术得道。其中:“道”指“规律、道理、理论”,“术”指“方法、技巧、技术”。意思是:“道”是“术”的灵魂,“术”是“道”的肉体;可以用“道”来统管“术”,也可以从“术”中获得“道”。在拜读大佬“孤尽”的文章《Code Review是苦涩但有意思的修行》时,感受最深的一句话就是:“优质的代码一定是少即是多的精兵原则”,这就是大佬的代码精简之“道”。工匠追求“术”到极致,其实就是在寻“道”,且离悟“道”也就不远了,亦或是已...转载 2020-07-15 08:55:03 · 490 阅读 · 0 评论 -
这 10 行比较字符串相等的代码给我整懵了,不信你也来看看 侵删
抱歉用这种标题吸引你点进来了,不过你不妨看完,看看能否让你有所收获。(有收获,请评论区留个言,没收获,下周末我直播吃**,哈哈,这你也信)补充说明:微信公众号改版,对各个号主影响还挺大的。目前从后台数据来看,对我影响不大,因为我这反正都是小号阅读量本身就少的可怜,真相了,(刚从交流群学会的表情)。先直接上代码:booleansafeEqual(Stringa,Stringb){if(a.length()!=b.length()){returnfa...转载 2020-07-15 08:55:15 · 107 阅读 · 0 评论 -
深入理解Spring的ImportSelector接口 侵删
ImportSelector接口是至spring中导入外部配置的核心接口,在SpringBoot的自动化配置和@EnableXXX(功能性注解)都有它的存在,关于SpringBoot的分析可以参考:深入理解SpringBoot的自动装配。一、关于ImportSelector接口packageorg.springframework.context.annotation;importorg.springframework.core.type.AnnotationMetadata;/**...转载 2020-07-15 08:55:22 · 202 阅读 · 0 评论 -
现在的学生太厉害了!一位同学冒着挂科的风险给大家写得 Spring Cloud 入门总结 侵删
马上要考试了!!!作为一个苦逼的在读大学生,又要面临半年一度的期末考试了,因为上课没听,我啥都不会,什么通信原理,单片机。。。饶了我吧!!!给你们看看我上课在干啥你就知道我为啥啥都不会了。上课笔记。。emmm,字比较丑????。我还记得那是一堂英语课,老师不让用电子设备,我只能手写我这篇文章的思路。。。所以,冒着期末要挂科的风险????,我也得把这篇文章写完,给大家分享知识,自己也能重新复习和认识一下Spring Cloud。我女朋友说,要是这篇文章能有 50转载 2020-07-15 08:55:56 · 204 阅读 · 0 评论 -
总结:被MySQL UTF8编码坑的惨痛教训... 侵删
最近遇到几个项目被MySQL的utf8编码坑,想起之前编码问题被坑的惨痛教训,记录一下,警示自己。曾几何时,每次建库都选utf8,觉得自己比那些用乱七八糟编码的人不知道酷到哪里去了。直到好多年前的某次课程设计做项目的时候,愉快的建了个用户表: CREATE TABLE `test_user` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(32) DEFAULT NULL, ...转载 2020-07-15 08:56:10 · 408 阅读 · 0 评论 -
我的天,你工作5年了,连Java agent都不知道... 侵删
# 引言在本篇文章中,我会通过几个简单的程序来说明 agent 的使用,最后在实战环节我会通过 asm 字节码框架来实现一个小工具,用于在程序运行中采集指定方法的参数和返回值。有关 asm 字节码的内容不是本文的重点,不会过多的阐述,不明白的同学可以自己 google 下。# 简介Java agent 提供了一种在加载字节码时,对字节码进行修改的方式。他共有两种方式执行,一种是在 main 方法执行之前,通过 premain 来实现,另一种是在程序运行中,通过 attach a...转载 2020-07-16 15:31:02 · 149 阅读 · 0 评论 -
彻底理解 SpringIOC、DI,这篇文章就够了 侵删
前言你可能会有如下问题:1、想看Spring源码,但是不知道应当如何入手去看,对整个Bean的流程没有概念,碰到相关问题也没有头绪如何下手2、看过几遍源码,没办法彻底理解,没什么感觉,没过一阵子又忘了本文将结合实际问题,由问题引出源码,并在解释时会尽量以图表的形式让你一步一步彻底理解Spring Bean的IOC、DI、生命周期、作用域等。先看一个循环依赖问题现象循环依赖其实就是循环引用,也就是两个或则两个以上的bean互相持有对方,最终形成闭环。比如A依赖于B,...转载 2020-07-16 15:31:13 · 95 阅读 · 0 评论 -
干掉 “final“ 侵删
Java 语言的每个关键字都设计的很巧妙,金雕玉琢,只有深度钻研其中,才知其中懊悔,本文带领大家一起深入理解 Java 内存模型之 final。与锁和 volatile 相比较,对 final 域的读和写更像是普通的变量访问。对于 final 域,编译器和处理器要遵守两个重排序规则: 在构造函数内对一个 final 域的写入,与随后把这个被构造对象的引用赋值给一个引用变量,这两个操作之间不能重排序。 初次读一个包含 final 域的对象的引用,与随后初次读这个 final 域,这两个操作转载 2020-07-16 15:31:20 · 99 阅读 · 0 评论 -
项目实践中的一些性能优化指南 侵删
作为一个程序员,性能优化是常有的事情,不管是桌面应用还是web应用,不管是前端还是后端,不管是单点应用还是分布式系统。本文从以下几个方面来思考这个问题:性能优化的一般性原则,性能优化的层次,性能优化的通用方法。本文不限于任何语言、框架,不过可能会用Python语言来举例。不过囿于个人经验,可能更多的是从Linux服务端的角度来思考这些问题。一般性原则依据数据而不是凭空猜测这是性能优化的第一原则,当我们怀疑性能有问题的时候,应该通过测试、日志、profillig来分析出哪里有问题,有的放矢,而转载 2020-07-16 15:31:28 · 151 阅读 · 0 评论 -
如何设计一个牛逼的本地缓存 侵删
前言 考虑点 如何实现 总结 前言最近在看Mybatis的源码,刚好看到缓存这一块,Mybatis提供了一级缓存和二级缓存;一级缓存相对来说比较简单,功能比较齐全的是二级缓存,基本上满足了一个缓存该有的功能;当然如果拿来和专门的缓存框架如ehcache来对比可能稍有差距;本文我们将来整理一下实现一个本地缓存都应该需要考虑哪些东西。考虑点考虑点主要在数据用何种方式存储,能存储多少数据,多余的数据如何处理等几个点,下面我们来详细的介绍每个考虑点,以及该如何去实现..转载 2020-07-16 15:31:43 · 92 阅读 · 0 评论 -
每个程序员都应该收藏的算法复杂度速查表 侵删
复杂度通常会使用大-O 记号来表示,比如快速排序的平均时间复杂度是 O(nlog(n))。虽然我是「理解派」,但是虽然每个算法/数据结构都理解了,不时仍有可能忘记具体某个算法/数据结构的复杂度(特别是在最好、最坏和平均情形下的复杂度)。因此制作一个速查表是蛮有必要的。动手前先看看是否已经有轮子是一个好习惯,果不其然,我找到了原作。http://bigocheatsheet.com/图例抽象数据结构的操作复杂度数组排序图操作堆操作大-O 复杂度曲线转载 2020-07-16 15:31:51 · 108 阅读 · 0 评论 -
Spring 的 Bean 生命周期,11 张高清流程图及代码,深度解析 侵删
1. 获取Bean 2. 创建Bean 2.1 创建Bean之前 2.1 真正的创建Bean,doCreateBean 3. destroy 方法跟销毁 Bean 4. 总结 在网上已经有跟多Bean的生命周期的博客,但是很多都是基于比较老的版本了,最近吧整个流程化成了一个流程图。待会儿使用流程图,说明以及代码的形式来说明整个声明周期的流程。注意因为代码比较多,这里的流程图只画出了大概的流程,具体的可以深入代码1. 获取Bean..转载 2020-07-16 15:31:59 · 131 阅读 · 0 评论 -
我们已经不用AOP做操作日志了! 侵删
以下文章来源于JAVA葵花宝典,作者努力减肥的胖子JAVA葵花宝典墙裂置顶,每天准时推送干货,SpringBoot/ SpringCloud/Dubbo/Docker /Linux /Mysql /Mybatis/MQ/大数据处理/中间件/中台技术!修Python的可关注Java老鸟Python学习日记前言用户在操作我们系统的过程中,针对一些重要的业务数据进行增删改查的时候,我们希望记录一下用户的操作行为,以便发生问题时能及时的找到依据,这种日志就是业务系统的操作日志。本篇我们来探.转载 2020-07-16 15:32:07 · 153 阅读 · 0 评论 -
一个故事讲完CPU的工作原理 侵删
上二年级的小明正坐在教室里。现在是数学课,下午第一节,窗外的蝉鸣、缓缓旋转的吊扇让同学们昏昏欲睡。此时,刘老师在黑板上写下一个问题:6324 + 244675 = ?小明抬头看了一眼,觉得这两个数字挺眼熟。他昨天翘课去网吧了,因此错过了刘老师讲的竖式计算加法。“同学们算一算这道题。”刘老师和蔼可亲地说道。小明盯着黑板懵逼。小学二年级的他面对这样一道世界级难题,束手无策。小明伸出了自己的左手,打算用一个古老而深邃的方法--掰手指--尝试一下。小明发现...转载 2020-07-16 15:32:15 · 187 阅读 · 0 评论 -
面试:SpringBoot中的条件注解底层是如何实现的? 侵删
SpringBoot内部提供了特有的注解:条件注解(Conditional Annotation)。比如: @ConditionalOnBean、 @ConditionalOnClass、 @ConditionalOnExpression、 @ConditionalOnMissingBean等。 条件注解存在的意义在于动态识别(也可以说是代码自动化执行)。比如@ConditionalOnClass会检查类加载器中是否存在对应的类,如果有的话被注解修饰的类就有资格被Sp转载 2020-07-21 15:33:32 · 112 阅读 · 0 评论 -
微服务 2.0 技术栈选型手册 侵删
一、前言2014 年可以认为是微服务 1.0 的元年,当年有几个标志性事件,一是 Martin Fowler 在其博客上发表了 “Microservices” 一文,正式提出微服务架构风格;二是 Netflix 微服务架构经过多年大规模生产验证,最终抽象落地形成一整套开源的微服务基础组件,统称 NetflixOSS,Netflix 的成功经验开始被业界认可并推崇;三是 Pivotal 将 NetflixOSS 开源微服务组件集成到其 Spring 体系,推出 Spring Cloud 微服务开发技术栈。转载 2020-07-21 15:33:40 · 362 阅读 · 0 评论 -
同事埋了个坑:Insert into select语句把生产服务器炸了 侵删
前言Insert into select请慎用。这天xxx接到一个需求,需要将表A的数据迁移到表B中去做一个备份。本想通过程序先查询查出来然后批量插入。但xxx觉得这样有点慢,需要耗费大量的网络I/O,决定采取别的方法进行实现。通过在Baidu的海洋里遨游,他发现了可以使用insert into select实现,这样就可以避免使用网络I/O,直接使用SQL依靠数据库I/O完成,这样简直不要太棒了。然后他就被开除了。事故发生的经过由于数据数据库中order_today数据量过大,当时好像有700转载 2020-07-21 15:33:49 · 209 阅读 · 0 评论 -
实战篇,你不得不懂的Elasticsearch搜索引擎! 侵删
当前Spring Boot很是流行,包括我自己,也是在用Spring Boot集成其他框架进行项目开发,所以这一节,我们一起来探讨Spring Boot整合ElasticSearch的问题。本文主要讲以下内容:第一部分,通读文档第二部分,Spring Boot整合ElasticSearch第三部分,基本的CRUD操作第四部分,搜索第五部分,例子还没有学过Elasticsearch的朋友,可以先学这个系列的第一节(这个系列共三节),如果你有不明白或者不正确的地方,可以给我评论、留言转载 2020-07-21 15:33:57 · 396 阅读 · 0 评论 -
一个基于 Spring Boot 的项目骨架 侵删
最近使用Spring Boot 配合 MyBatis 、通用Mapper插件、PageHelper分页插件 连做了几个中小型API项目,做下来觉得这套框架、工具搭配起来开发这种项目确实非常舒服,团队的反响也不错。在项目搭建和开发的过程中也总结了一些小经验,与大家分享一下。在开发一个API项目之前,搭建项目、引入依赖、配置框架这些基础活自然不用多说,通常为了加快项目的开发进度(早点回家)还需要封装一些常用的类和工具,比如统一的响应结果封装、统一的异常处理、接口签名认证、基础的增删改差方法封装、基础代码生成转载 2020-07-21 15:34:04 · 196 阅读 · 0 评论 -
一次 SQL 查询优化原理分析(900W+ 数据,从 17s 到 300ms) 侵删
有一张财务流水表,未分库分表,目前的数据量为9555695,分页查询使用到了limit,优化之前的查询耗时16 s 938 ms(execution: 16 s 831 ms, fetching: 107 ms),按照下文的方式调整SQL后,耗时347 ms(execution: 163 ms, fetching: 184 ms);操作:查询条件放到子查询中,子查询只查主键ID,然后使用子查询中确定的主键关联查询其他的属性字段;原理:减少回表操作;-- 优化前SQLSELECT ...转载 2020-07-21 15:34:10 · 199 阅读 · 0 评论 -
阿里问题定位神器 Arthas 的骚操作,定位线上BUG,超给力 侵删
公司有个渠道系统,专门对接三方渠道使用,没有什么业务逻辑,主要是转换报文和参数校验之类的工作,起着一个承上启下的作用。最近在优化接口的响应时间,优化了代码之后,但是时间还是达不到要求;有一个诡异的100ms左右的耗时问题,在接口中打印了请求处理时间后,和调用方的响应时间还有差了100ms左右。比如程序里记录150ms,但是调用方等待时间却为250ms左右。下面记录下当时详细的定位&解决流程(其实解决很简单,关键在于怎么定位并找到解决问题的方法)定位过程分析代码渠道系统是一个常..转载 2020-07-15 08:54:12 · 588 阅读 · 0 评论 -
深度好文,spring boot启动原理解析 侵删
我们开发任何一个 Spring Boot 项目,都会用到如下的启动类 1 @SpringBootApplication 2 public class Application { 3 public static void main(String[] args) { 4 SpringApplication.run(Application.class, args); 5 } 6 } 从上面代码可以看出,Annotation 定义(@Spring.转载 2020-07-14 16:39:15 · 130 阅读 · 0 评论 -
图解!微服务为什么一定要Zookeeper? 侵删
微服务中 Zookeeper 的应用及原理 一、背景 二、Zookeeper 的特性 1. 树状目录结构 2. 持久节点 (Persistent) 3. 持久有序节点 (Persistent_sequential) 4. 临时节点 (Ephemeral) 5. 临时有序节点 (Ephemeral_sequential) 6. 节点监听 (Wacher) 三、微服务中应用场景 1转载 2020-07-14 16:37:21 · 91 阅读 · 0 评论 -
面试官:你简历中写用过 Docker,能说说容器和镜像的区别吗? 侵删
Image Definition Container Definition Running Container Definition Image Layer Definition 全局理解(Tying It All Together) 这篇文章希望能够帮助读者深入理解Docker的命令,还有容器(container)和镜像(image)之间的区别,并深入探讨容器和运行中的容器之间的区别。pasted_image_0.png当我对Dock..转载 2020-07-14 16:36:19 · 353 阅读 · 0 评论 -
30张图带你彻底理解红黑树 侵删
本文将通过图文的方式讲解红黑树的知识点,并且不会涉及到任何代码,相信我,在懂得红黑树实现原理前,看代码会一头雾水的,当原理懂了,代码也就按部就班写而已,没任何难度。阅读本文你需具备知识点:二叉查找树完美平衡二叉树事不宜迟,让我们进入正题吧。红黑树也是二叉查找树,我们知道,二叉查找树这一数据结构并不难,而红黑树之所以难是难在它是自平衡的二叉查找树,在进行插入和删除等可能会破坏树的平衡的操作时,需要重新自处理达到平衡状态。现在在脑海想下怎么实现?是不是太多情景需要考虑了?啧啧..转载 2020-07-14 16:34:39 · 168 阅读 · 0 评论 -
这么写参数校验(Validator)就不会被劝退了~ 侵删
为什么要用validator 实战演练 自定义参数注解 总结 很痛苦遇到大量的参数进行校验,在业务中还要抛出异常或者 不断的返回异常时的校验信息,在代码中相当冗长, 充满了if-else这种校验代码,今天我们就来学习spring的javax.validation 注解式参数校验.为什么要用validator javax.validation的一系列注解可以帮我们完成参数校验,免去繁琐的串行校验 不然我们的代码就像下面这样: //http://l...转载 2020-07-14 16:33:08 · 218 阅读 · 0 评论 -
Java : 对象不再使用时,为什么要赋值为 null ? 侵删
前言许多Java开发者都曾听说过“不使用的对象应手动赋值为null“这句话,而且好多开发者一直信奉着这句话;问其原因,大都是回答“有利于GC更早回收内存,减少内存占用”,但再往深入问就回答不出来了。鉴于网上有太多关于此问题的误导,本文将通过实例,深入JVM剖析“对象不再使用时赋值为null”这一操作存在的意义,供君参考。本文尽量不使用专业术语,但仍需要你对JVM有一些概念。示例代码我们来看看一段非常简单的代码:public static void main...转载 2020-07-14 16:31:54 · 107 阅读 · 0 评论 -
Spring Boot 多模块项目实践(附打包方法) 侵删
序言:比起传统复杂的单体工程,使用Maven的多模块配置,可以帮助项目划分模块,鼓励重用,防止POM变得过于庞大,方便某个模块的构建,而不用每次都构建整个项目,并且使得针对某个模块的特殊控制更为方便。接下来,本文将重点阐述SpringBoot在Maven环境的多模块构建过程。本项目传送门:https://github.com/yizhiwazi/springboot-socks/tree/master/springboot-integration一、创建聚合父工程1.首先使用 S转载 2020-07-14 16:30:53 · 97 阅读 · 0 评论 -
Springboot项目的接口防刷(实例)
说明:使用了注解的方式进行对接口防刷的功能,非常高大上,本文章仅供参考。技术要点:springboot的基本知识,redis基本操作,首先是写一个注解类:importjava.lang.annotation.Retention;importjava.lang.annotation.Target;importstaticjava.lang.annotation.ElementType.METHOD;importstaticjava.lang.annotation.Retent...转载 2020-07-14 16:29:52 · 2554 阅读 · 0 评论 -
超详细:如何设计出健壮的秒杀系统? 侵删
前言秒杀系统相信很多人见过,比如京东或者淘宝的秒杀,小米手机的秒杀,那么秒杀系统的后台是如何实现的呢?我们如何设计一个秒杀系统呢?对于秒杀系统应该考虑哪些问题?如何设计出健壮的秒杀系统?本期我们就来探讨一下这个问题博客的目录 秒杀系统应该考虑的问题 秒杀系统的设计和技术方案 系统架构图 总结 一:秒杀应该考虑哪些问题1.1:超卖问题分析秒杀的业务场景,最重要的有一点就是超卖问题,假如备货只有100个,但是最终超卖了200,一般来讲秒杀系统的价格都比较低转载 2020-07-14 16:29:10 · 107 阅读 · 0 评论 -
如何设计一个本地缓存 侵删
前言最近在看 Mybatis 的源码,刚好看到缓存这一块,Mybatis 提供了一级缓存和二级缓存;一级缓存相对来说比较简单,功能比较齐全的是二级缓存,基本上满足了一个缓存该有的功能;当然如果拿来和专门的缓存框架如 ehcache 来对比可能稍有差距;本文我们将来整理一下实现一个本地缓存都应该需要考虑哪些东西。考虑点考虑点主要在数据用何种方式存储,能存储多少数据,多余的数据如何处理等几个点,下面我们来详细的介绍每个考虑点,以及该如何去实现;1. 数据结构首要考虑的就是数据该如何存储,用什转载 2020-07-14 16:26:36 · 111 阅读 · 0 评论 -
看完这篇 Session、Cookie、Token,和面试官扯皮就没问题了 侵删
Cookie 和 SessionHTTP 协议是一种无状态协议,即每次服务端接收到客户端的请求时,都是一个全新的请求,服务器并不知道客户端的历史请求记录;Session 和 Cookie 的主要目的就是为了弥补 HTTP 的无状态特性。Session 是什么客户端请求服务端,服务端会为这次请求开辟一块内存空间,这个对象便是 Session 对象,存储结构为...转载 2020-04-06 14:36:12 · 131 阅读 · 0 评论 -
Java并发面试题 侵删
多线程java中有几种方法可以实现一个线程? 继承Thread类; 实现Runnable接口; 实现Callable接口通过FutureTask包装器来创建Thread线程; 使用ExecutorService、Callable、Future实现有返回结果的多线程(也就是使用了ExecutorService来管理前面的三种方式)。 详情参见:ht...转载 2019-12-03 09:19:27 · 57 阅读 · 0 评论 -
Kafka、RabbitMQ、RocketMQ等消息中间件的介绍和对比 侵删
前言在分布式系统中,我们广泛运用消息中间件进行系统间的数据交换,便于异步解耦。现在开源的消息中间件有很多,前段时间产品 RocketMQ (MetaQ的内核) 也顺利开源,得到大家的关注。概念MQ简介MQ,Message queue,消息队列,就是指保存消息的一个容器。具体的定义这里就不类似于数据库、缓存等,用来保存数据的。当然,与数据库、缓存等产品比较,也有自己一些特点,具体的特...转载 2019-12-03 09:19:36 · 352 阅读 · 0 评论 -
一份不可多得的 Lombok 学习指南 侵删
一、Lombok 简介Lombok 是一款 Java 开发插件,使得 Java 开发者可以通过其定义的一些注解来消除业务工程中冗长和繁琐的代码,尤其对于简单的 Java 模型对象(POJO)。在开发环境中使用 Lombok 插件后,Java 开发人员可以节省出重复构建,诸如 hashCode 和 equals 这样的方法以及各种业务对象模型的 accessor 和 toString 等方法...转载 2019-12-03 09:20:14 · 113 阅读 · 0 评论 -
8种常见SQL错误用法 侵删
1、LIMIT 语句分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。比如对于下面简单的语句,一般 DBA 想到的办法是在 type, name, create_time 字段上加组合索引。这样条件排序都能有效的利用到索引,性能迅速提升。 SELECT * FROM operation WHERE type = 'SQLStats' ...转载 2019-12-03 09:20:52 · 89 阅读 · 0 评论 -
你写的 Java 代码是如何一步步输出结果的? 侵删
对于任何一门语言,要想达到精通的水平,研究它的执行原理(或者叫底层机制)不失为一种良好的方式。在本篇文章中,将重点研究java源代码的执行原理,即从程序员编写JAVA源代码,到最终形成产品,在整个过程中,都经历了什么?每一步又是怎么执行的?执行原理又是什么?一、编写java源程序java源文件:指存储java源码的文件。先来看看如下代码://MyTest被public修饰,...转载 2019-12-03 09:21:15 · 107 阅读 · 0 评论