![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
洛城铁匠
这个作者很懒,什么都没留下…
展开
-
记录一次解决了CPU飙升的问题
负责的项目预定今天凌晨2点上进行版本更新。前几天测试对网站进行压力测试,观察服务的CPU、内存、load、RT、QPS等各种指标。在压测的过程中,测试发现我们其中一个接口,在QPS上升到400以后,CPU利用率急剧升高。在这里我不再对CPU、内存、load、RT、QPS等做过多赘述,毕竟这几个点中的任何一个拿出来探讨,一篇文章都不一定写的完。有兴趣深究自己动手查一下吧。这里我仅对QPS...原创 2020-04-02 23:02:10 · 663 阅读 · 0 评论 -
调查问卷
原创 2020-03-08 21:45:02 · 145 阅读 · 0 评论 -
如何查看java字节码
3种骚操作,教你查看 Java 字节码!在我们工作、学习、以及研究 JVM 过程当中,不可避免的要查看 Java 字节码,通过查看字节码可以了解一个类的编译结果,也能通过编译器层面来分析一个类的性能。字节码文件是不能直接打开的,下面栈长教大家几种简单的方法如何查看 Java 字节码。1、使用 javap 命令查看字节码命令格式如下:javap -c xxx.classJ...原创 2020-01-10 22:12:34 · 824 阅读 · 0 评论 -
面试:局部内部类对局部变量的访问
java调用处理匿名内部类的时候,内部类里面如果有需要传入外部方法的局部变量必须是final修饰的先说结论:1:匿名内部类没有构造函数,无法对引用变量进行初始化。所以引用的参数必须是在外部已经初始化的final变量。 2:匿名内部类是出现在一个方法的内部的,如果它要访问这个方法的参数或者方法中定义的变量,则这些参数和变量必须被修饰为final。因为虽然匿名内部 类在方法的内部,但实...原创 2020-01-10 21:51:42 · 527 阅读 · 0 评论 -
面试一:jdk动态代理和cglib动态代理性能比较
概念jdk动态代理: 利用拦截器(拦截器必须实现InvocationHanlder)加上反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。是在程序运行的过程中,根据被代理的接口来动态生成代理类的class文件,并加载运行的过程。 之所以只支持实现了接口的类的代理。从原理上讲是因为JVM动态生成的代理类有如下特性: 继承了P...原创 2020-01-08 22:28:33 · 2821 阅读 · 0 评论 -
JVM知识梳理一
JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可...原创 2020-01-07 22:24:15 · 390 阅读 · 0 评论 -
从ThreadPoolTaskExecutor看
1、概述在Java中,我们一般通过集成Thread类和实现Runnnable接口,调用线程的start()方法实现线程的启动。但如果并发的数量很多,而且每个线程都是执行很短的时间便结束了,那样频繁的创建线程和销毁进程会大大的降低系统运行的效率。线程池正是为了解决多线程效率低的问题而产生的,他使得线程可以被复用,就是线程执行结束后不被销毁,而是可以继续执行其他任务。(这里可以用tomcat做例子进...原创 2019-12-16 17:10:45 · 269 阅读 · 0 评论 -
Java到底是值传递还是引用传递?
在逛 Stack Overflow 的时候,发现了一些访问量像阿尔卑斯山一样高的问题,比如说这个:Java 到底是值传递还是引用传递?访问量足足有 188万+,这不得了啊!说明有很多很多的程序员被这个问题困扰过。实话实说吧,我就是其中之一。来回顾一下提问者的问题:我一直认为 Java 是按引用传递的,但是我看一些博客上说不是的。我就纳闷了,Java 到底是值传递还是引用传递?值传递和引用...原创 2019-12-11 14:29:24 · 123 阅读 · 0 评论 -
分享6个国内优秀Java后台管理框架的开源项目,建议收藏
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。给你java学习路线:html-css-js-jq-javase-数据库-jsp-servlet-Struts2-hibernate-mybatis-spring4-s...转载 2019-03-07 18:59:04 · 2119 阅读 · 1 评论 -
mybatisPlus填坑之逻辑删除
网上大部分的关于mybatisPlus的逻辑删除的配置介绍都是有问题的,原因可能是官网已经做了更新!!!错误如图:正确的配置是:SpringBoot 配置方式: application.yml 加入配置(如果你的默认值和mp默认的一样,该配置可无): yml文件(区别是多了一个路径db-config,同学们细看了) mybatis-plus: global-c...原创 2019-02-21 10:49:10 · 27278 阅读 · 9 评论 -
Java:((TestClass)null).testMethod();
今天分享一个面试题A.编译不通过B.编译通过,运行异常,报NullPointerExceptionC.编译通过,运行异常,报IllegalArgumentExceptionD.编译通过,运行异常,报NoSuchMethodExceptionE.编译通过,运行异常,报ExceptionF.运行正常,输出testMethod 答案是F,为啥?null可...原创 2018-09-19 21:12:14 · 2603 阅读 · 0 评论 -
集合框架能否存null
Hashtable: 1. key和value都不许有null值 2. 使用enumeration遍历 3. 同步的,每次只有一个线程能够访问 4. 在java中Hashtable是H大写,t小写,而HashMap是H大写,M大写 HashMap: 1. key和value可以有null值 2. 使用iterator遍历 3. 未同步的,多线程场合要手动同步HashMap HashSet 1....原创 2018-07-16 13:36:20 · 1653 阅读 · 0 评论 -
SpingBoot集成Swagger
先来了解一下SwaggerSwagger 可以生成一个具有互动性的API控制台,开发者可以用来快速学习和尝试API。Swagger 可以生成客户端SDK代码用于各种不同的平台上的实现。Swagger 文件可以在许多不同的平台上从代码注释中自动生成。Swagger 有一个强大的社区,里面有许多强悍的贡献者。Swagger 文档提供了一个方法,使我们可以用指定的 JSON 或者 YAML 摘要来描述你...原创 2018-07-16 13:36:30 · 260 阅读 · 0 评论 -
springcloud实战篇七服务网关之zuul
什么是zuul?(先简单剧透一下 Zuul=代理+路由+过滤)它包含了对请求的路由和过滤两个功能,其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础;而过滤器功能则负责对请求的处理过程进行干预,是实现请求校验、服务聚合等功能的基础。然而实际上,路由功能在真正运行时,它的路由映射和请求转发都是由几个不同的过滤器完成的。其中,路由映射主要通过pre类型的过滤器完成,它将...原创 2018-07-15 17:34:12 · 554 阅读 · 0 评论 -
springcloud实战篇六之Eureka-client(服务消费者)之Feign
在学习Feign之前,首先来回顾一下Ribbon Ribbon 核心组件IRule根据特定算法,从服务列表中选取一个要访问的服务;RoundRobinRule:轮询RandomRule:随机AvailabilityFilteringRule: 会先过滤掉由于多次访问故障而处于断路器跳闸状态的服务,以及并发的连接数量超过阈值的服务,然后对剩余的服务列表按照轮询策略进行访问;WeightedRespo...原创 2018-07-15 16:46:28 · 627 阅读 · 0 评论 -
springcloud实战篇四之Eureka-client(服务提供者)集群创建
下面搭建一个Eureka-client的服务提供者集群1.三个工程的pom.xml依赖是一样的,所以就仅贴出一个<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apa...原创 2018-07-15 15:44:58 · 1215 阅读 · 0 评论 -
springcloud实战篇二之Eureka-client(服务提供者)创建
上篇已经搭建好了Eureka客户端,接下来为大家演示如何把利用Eureka-client把服务提供者注册进Eureka-server下图为工程的目录结构接下来再贴出主要的代码,其中简单的业务逻辑我就不贴了1.application.yml文件server: port: 8001 mybatis: config-location: classpath:mybatis/mybatis.c...原创 2018-07-14 22:53:34 · 207 阅读 · 0 评论