
java
荒年-yang
Aspire to inspire until I expire!
展开
-
CAS自旋锁
CAS自旋锁原创 2023-03-09 14:14:09 · 203 阅读 · 0 评论 -
java笔记
1.mybatis数据类型是DATE的数据只有年月日(yyyy-MM-dd),而TIMESTAMP的年月日和时分秒都有(yyyy-MM-dd HH:mm:ss)原创 2022-03-15 17:26:04 · 632 阅读 · 0 评论 -
jvm性能调优
一.java可能导致cpu过高的及解决方案1.无限while循环尽量无限循环让循环执行的慢一点2.频繁GC降低GC频率3.频繁创建新对象合理使用单例4.序列化与反序列化选择合理API实现功能选择好用的序列化/反序列化类库5.正则表达式减少字符匹配期间执行的回溯6.频繁的线程上下文切换减少切换的频率二、堆内存溢出的场景1.内存泄漏2.非内存泄漏三、栈内存溢出-如何运行更多的线程1.减少Xss配置2.栈能分配的内存机器总内存-操作系统内存-堆内存-方法区内存-程序计数器原创 2021-07-01 10:36:37 · 226 阅读 · 0 评论 -
java spi
1、定义接口、实现类HelloService.javapackage com.myc.cloud.invoker.service;/** * @Classname HelloService * @Description * @Date 2020-08-24 08:30 * @Created by myc */public interface HelloService { void sayHello(String str);}实现类:HelloServiceImplpac原创 2020-08-24 10:10:58 · 153 阅读 · 0 评论 -
Java的浅拷贝和深拷贝实现
main方法public static void main(String[] args) throws Exception { CopyTest copyTest = new CopyTest(); copyTest.setName("张三"); CopyTest.Address address = copyTest.new Address(); address.setCity("杭州"); address.setProvi原创 2020-07-10 15:24:55 · 273 阅读 · 0 评论 -
springboot配置文件中@符号报错
解决方法:一、添加双引号,改成字符串二、添加解析插件<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.7</vers...原创 2020-04-26 17:22:35 · 1544 阅读 · 0 评论 -
springboot集成activemq支持topic、queue
1、pom文件添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-activemq</artifactId> </d...原创 2020-03-23 18:17:04 · 224 阅读 · 0 评论 -
Java虚拟机参数
-XX:+PrintGC 简单的GC信息-XX:+PrintGCDetail 详细的GC信息-XX:+PrintGCTimeStamps GC的发生时间-XX:+PrintGCApplicationConcurrentTime 应用程序的执行时间-XX:+PrintGCApplicationStoppedTime GC的STW的停顿时间-Xloggc:xxxx/gc.log 指定GC的...转载 2019-12-17 09:27:14 · 222 阅读 · 0 评论 -
jvm系列(三):java GC算法 垃圾收集器
本文转载于https://www.cnblogs.com/ityouknow/p/5614961.htmlGC算法 垃圾收集器概述垃圾收集 Garbage Collection 通常被称为“GC”,它诞生于1960年 MIT 的 Lisp 语言,经过半个多世纪,目前已经十分成熟了。jvm 中,程序计数器、虚拟机栈、本地方法栈都是随线程而生随线程而灭,栈帧随着方法的进入和退出做入栈和出栈操作...转载 2019-03-21 10:19:35 · 144 阅读 · 0 评论 -
jvm系列(四):jvm调优-命令大全(jps jstat jmap jhat jstack jinfo)
本文转载于https://www.cnblogs.com/ityouknow/p/5714703.html运用jvm自带的命令可以方便的在生产监控和打印堆栈的日志信息帮忙我们来定位问题!虽然jvm调优成熟的工具已经有很多:jconsole、大名鼎鼎的VisualVM,IBM的Memory Analyzer等等,但是在生产环境出现问题的时候,一方面工具的使用会有所限制,另一方面喜欢装X的我们,总喜...转载 2019-03-21 12:03:28 · 235 阅读 · 0 评论 -
jvm系列(五):tomcat性能调优和性能监控(visualvm)
本文转载自:https://www.cnblogs.com/ityouknow/p/5378874.htmltomcat服务器优化1、JDK内存优化根据服务器物理内容情况配置相关参数优化tomcat性能。当应用程序需要的内存超出堆的最大值时虚拟机就会提示内存溢出,并且导致应用服务崩溃。因此一般建议堆的最大值设置为可用内存的最大值的80%。 Tomcat默认可以使用的内存为128MB,在较大型...转载 2019-03-21 13:29:48 · 230 阅读 · 0 评论 -
jvm系列(六):jvm调优-从eclipse开始
本文转载自:https://www.cnblogs.com/ityouknow/p/5647513.htmljvm调优-从eclipse开始概述什么是jvm调优呢?jvm调优就是根据gc日志分析jvm内存分配、回收的情况来调整各区域内存比例或者gc回收的策略;更深一层就是根据dump出来的内存结构和线程栈来分析代码中不合理的地方给予改进。eclipse优化主要涉及的是前者,通过gc日志来分析...转载 2019-03-21 13:37:44 · 166 阅读 · 0 评论 -
jvm系列(七):jvm调优-工具篇
本文转载自:https://www.cnblogs.com/ityouknow/p/6437037.html16年的时候花了一些时间整理了一些关于jvm的介绍文章,到现在回顾起来还是一些还没有补充全面,其中就包括如何利用工具来监控调优前后的性能变化。工具做为图形化界面来展示更能直观的发现问题,另一方面一些耗费性能的分析(dump文件分析)一般也不会在生产直接分析,往往dump下来的文件达1G左右...转载 2019-03-24 15:58:19 · 231 阅读 · 0 评论 -
jvm系列(八):jvm知识点总览
本文转载自:https://www.cnblogs.com/ityouknow/p/6482464.html在江湖中要练就绝世武功必须内外兼备,精妙的招式和深厚的内功,武功的基础是内功。对于武功低(就像江南七怪)的人,招式更重要,因为他们不能靠内功直接去伤人,只能靠招式,利刃上优势来取胜了,但是练到高手之后,内功就更主要了。一个内功低的人招式在奇妙也打不过一个内功高的人。比如,你剑法再厉害,一剑...转载 2019-03-24 16:08:10 · 181 阅读 · 0 评论 -
jvm系列(九):Java GC 分析
Java GC就是JVM记录仪,书画了JVM各个分区的表演。什么是 Java GCJava GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代码,对内存泄露和溢出的问题,也不需要像C程序员那样战战兢兢。这是因为在Java虚拟机中,存在自动内存管理和垃圾清扫机制。概括地说,该机制对...转载 2019-03-24 16:24:59 · 200 阅读 · 0 评论 -
jvm系列(十):如何优化Java GC「译」
本文转载自:https://www.cnblogs.com/ityouknow/p/7653129.html本文由CrowHawk翻译,地址:如何优化Java GC「译」,是Java GC调优的经典佳作。Sangmin Lee发表在Cubrid上的"Become a Java GC Expert"系列文章的第三篇《How to Tune Java Garbage Collection》,本文的...转载 2019-03-24 16:31:58 · 309 阅读 · 0 评论 -
jvm系列(十一):JVM演讲PPT分享
本文转载自:https://www.cnblogs.com/ityouknow/p/7658887.htmlJVM PPT的演进文稿分享转载 2019-03-24 17:31:15 · 924 阅读 · 0 评论 -
jstack使用
1.查找进程top2.查找线程top -Hp pid3.将线程pid转为16进制printf “%x \n” 线程pid4.将堆栈信息保存到文件jstack 进程pid >> 文件5.通过步骤3获取的线程pid查找文件并分析...原创 2019-09-12 10:06:38 · 169 阅读 · 0 评论 -
jvm系列(二):JVM内存结构
本文转载自https://www.cnblogs.com/ityouknow/p/5610232.htmlJVM内存结构所有的Java开发人员可能会遇到这样的困惑?我该为堆内存设置多大空间呢?OutOfMemoryError的异常到底涉及到运行时数据的哪块区域?该怎么解决呢?其实如果你经常解决服务器性能问题,那么这些问题就会变的非常常见,了解JVM内存也是为了服务器出现性能问题的时候可以快速的...转载 2019-03-20 18:51:13 · 116 阅读 · 0 评论 -
浅析Spring事务传播行为和隔离级别
7个传播行为。4个隔离级别。Spring事务的传播行为和隔离级别[transaction behaviorand isolatedlevel]Spring中事务的定义:Propagation(key属性确定代理应该给哪个方法添加事务行为。这种属性最重要的部份是传播行为。)有下面选项可供使用:PROPAGATION_REQUIRED–支持当前事务,假设当前没有事务。就新建一个事务。这是最常...转载 2019-03-04 15:34:59 · 186 阅读 · 0 评论 -
JNI中C调用Java方法
本文转载自:http://www.cnblogs.com/xitang/p/4174619.html 1. 在同一个类中,调用其他方法JNIEXPORT void JNICALL Java_cn_itcast_ndkcallback_DataProvider_callmethod1 (JNIEnv * env, jobject obj){ //在c代码里面调用java代码里面的方法转载 2016-06-08 13:51:45 · 746 阅读 · 0 评论 -
Android 中Java 和C/C++的相互调用方法
本文转载自:http://blog.youkuaiyun.com/seniorwizard/article/details/7693573 在一些Android应用的开发中,需要通过JNI和 Android NDK工具实现Java和C/C++之间的相互调用。 Java Native Interface (JNI)标准是java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI是本地编程接转载 2016-06-08 14:48:05 · 476 阅读 · 0 评论 -
JAVA字符串格式化-String.format()的使用
常规类型的格式化String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处。format()方法有两种重载形式。 format(String format, Object… args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。format(Locale locale, Stri原创 2016-10-07 15:12:30 · 305 阅读 · 0 评论 -
求最长递增子串
最近看到一个Java笔试题:求最长递增子串 题目:给定一个只包含小写(a-z)的字符串。找出其中最长递增子串(子串是指连续的子串)。 例如:给定ababc输出abc public static void main(String [] args){ String str="abcefghjklmn"; System.out.println("str:"原创 2017-02-06 10:15:00 · 965 阅读 · 0 评论 -
maven创建springmvc项目
1、新建Maven项目,Maven Project,如下图,点击next。 2.如下图,选择Use default Workspace locattion,点击next 3.如下图,选择maven-archetype-webapp,点击next。 4.输入GroupId和ArtifactId(即项目名称)后点击Finish。 5.完成后会生成如下图的目录结构: 6.可以原创 2017-03-09 11:30:03 · 257 阅读 · 0 评论 -
2017最新下载安装Java详细教程
很多人都想进入Java天堂,但在这之前得先过那里的“南天门”—搭建开发环境。今天就带领大家下载并安装Java开发环境。1.首先,当然得从官网获取JDK安装文件。很简单,只要在百度里输入“Java官网”点击百度一下,然后就会看到以下的信息,并选中红色标记的网址。 2.进入之后如下图,选择下载JDK 3.进入之后如下图,首先要在红线框中选择“Accept License Agreement”,这个是原创 2017-03-09 16:08:15 · 10961 阅读 · 1 评论 -
Tomcat Multiple Contexts have a path of 错误的解决办法
将项目部署到Tomcat服务器上运行,报Multiple Contexts have a path of 错误。 原因是在tomcat目录中的server.xml里面配置了多个 context标签. 把文件里关于该项目多余的context标签内容删除。 重新运行就解决。原创 2017-03-09 17:26:18 · 3445 阅读 · 0 评论 -
spring mvc 返回json字符串的配置
<!-- 启用注解驱动 --> <mvc:annotation-driven/> <!-- 使用fastjson返回json 需要导入fastjson包 --> <mvc:annotation-driven> <mvc:message-converters register-defaults="false"> <!-- 避免IE执行原创 2017-02-27 15:31:43 · 720 阅读 · 0 评论 -
eclipse如何修改dynamic web module version
1.5.修改项目目录下的web.xml 修改前: 修改后: 2.选择Window–>Show View –>Navigator 3.出现如下图:4.修改项目.settings目录下的org.eclipse.jdt.core.prefs 修改前: 把1.5改成1.6 修改后: 5.修改项目.settings目录下的org.eclips原创 2017-03-09 11:51:29 · 1326 阅读 · 0 评论 -
Java资料学习下载地址收录
Lucene下载链接:http://archive.apache.org/dist/lucene/java/原创 2017-06-20 16:58:50 · 297 阅读 · 0 评论 -
Java VisualVM插件下载地址
Java VisualVM默认的连接网址已关闭服务,已经把服务迁移到github,可以进入这个网址https://visualvm.github.io/pluginscenters.html查询不同JDK版本对应的插件下载地址,再把Java VisualVM插件中的设置里的插件中心地址改成对应的下载地址即可。原创 2017-06-27 11:18:15 · 6318 阅读 · 0 评论 -
Java面试题收录
一.SpringMVC的工作流程 对象通过 Object 类中的 getClass() 方法,想要用这种方法必须要明确具体的类并且创建该类的对象。所有数据类型都具备一个静态的属性.class 来获取对应的 Class 对象。但是还是要明确到类,然后才能调用类中的静态成员。...原创 2018-09-28 11:27:12 · 109 阅读 · 0 评论 -
Spring常见面试题总结(超详细回答)
1、Spring是什么? Spring是一个轻量级的IoC和AOP容器框架。目的是解决企业应用开发的复杂性,使用基本的JavaBean来完成以前只可能由EJB完成的事情,并提供了更多的企业应用功能,Spring的用途不仅限于服务器端的开发,从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。2、Spring 的优点?(1)spring属于低侵入式设计,代...转载 2019-02-18 15:32:49 · 3605 阅读 · 0 评论 -
JNI调用Java方法
本文转载自:http://blog.youkuaiyun.com/skywalker256/article/details/4677619JNI调用Java方法JNI 调用java类的方法与反射代码类似。先得到object的类。 –>jobject obj; jclass cls = env->GetObjectClass(obj);然后查找方法: jmethodID mgetZoom = env->Ge转载 2016-06-08 13:16:48 · 440 阅读 · 0 评论