Java
文章平均质量分 79
Java大合集
醋酸菌HaC
这个作者很懒,什么都没留下…
展开
-
4个java死锁工具:jstack、jconsole、jvisualvm、jmc
在 Java 中,死锁(Deadlock)情况是指:两个或两个以上的线程持有不同系统资源的锁,线程彼此都等待获取对方的锁来完成自己的任务,但是没有让出自己持有的锁,线程就会无休止等待下去。线程竞争的资源可以是:锁、网络连接、通知事件,磁盘、带宽,以及一切可以被称作“资源”的东西。在程序执行的时候,难免会遇到死锁的情况。下面介绍一下如何排查Java中的死锁线程。先来个死锁的例子:import java.util.concurrent.TimeUnit;import java.util.concur原创 2022-03-25 00:06:30 · 1459 阅读 · 0 评论 -
(九)JMH的详细使用,以及压测dubbo
JMH即Java Microbenchmark Harness,@Benchmark的使用用来压测dubbo很方便,比较了jmeter、ab、jmh,还是jmh好用原创 2021-12-29 18:16:47 · 841 阅读 · 0 评论 -
AndroidStudio的安装和运行第一个Android项目
AndroidStudio有很多种版本,可以在这个网站找到(不用梯子):http://www.android-studio.org/index.php/download/hisversion/一 下载AndroidStudio我使用的是这个版本:该版本包括了SDK、AVD一系列东西,双击进行安装:我本地已经安装了SDK,会自动监测到SDK的路径,假如你没有安装SDK或者想重新安装SDK,可以选择新的文件夹,这里我把这里提示的所有都安装:我安装到这个目录安装完成就可以了,然后这个文件夹就原创 2021-06-28 15:16:04 · 819 阅读 · 2 评论 -
CPU 密集型 和 IO密集型 的区别,如何确定线程池大小?
CPU 密集型CPU密集型也叫计算密集型,指的是系统的硬盘、内存性能相对CPU要好很多,此时,系统运作大部分的状况是CPU Loading 100%,CPU要读/写I/O(硬盘/内存),I/O在很短的时间就可以完成,而CPU还有许多运算要处理,CPU Loading很高。比如说要计算1+2+3+…+ 1亿、计算圆周率后几十位、数据分析。都是属于CPU密集型程序。此类程序运行的过程中,CPU占用率一般都很高。假如在单核CPU情况下,线程池有6个线程,但是由于是单核CPU,所以同一时间只能运行一个线程原创 2021-03-23 18:12:59 · 7054 阅读 · 3 评论 -
详细聊聊 Java序列化和反序列化的作用
1、序列化和反序列化是什么?如果你看过某些类的源码或者公司的项目,有一些类是实现 Serializable 接口,同时还要显示指定 serialVersionUID 的值。例如String类:public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The value is used for character storage. */原创 2021-03-08 17:25:51 · 5364 阅读 · 0 评论 -
volatile和synchronized的有序性区别
1 volatile到底做了什么:1、 禁止了指令重排2、保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量值,这个新值对其他线程是立即可见的不保证原子性(线程不安全)2 synchronized关键字和volatile关键字比较:volatile关键字是线程同步的轻量级实现,所以volatile性能肯定比synchronized关键字要好。但是volatile关键字只能用于变量而synchronized关键字可以修饰方法以及代码块。synchronized关键字在JavaSE1原创 2020-09-23 23:06:43 · 784 阅读 · 0 评论 -
Java中四种线程安全的单例模式实现方式
第一种:饿汉模式(线程安全)public class Single2 { private static Single2 instance = new Single2(); private Single2(){ System.out.println("Single2: " + System.nanoTime()); } public static Single2 getInstance(){ return instance原创 2020-09-29 17:30:52 · 1913 阅读 · 0 评论 -
引用拷贝、对象拷贝、浅拷贝、深拷贝 到底是什么【详细例子介绍】
Java的数据类型分为基本数据类型和引用数据类型。拷贝一个对象,可以使用 Cloneable接口的clone()方法。对象拷贝分为 浅拷贝 和 深拷贝,这两种拷贝都是从引用拷贝 引出的。通过下面的例子你就可以明白这三者的区别了。1、引用拷贝引用拷贝 简单的说就是通过 = 地址赋值。class TestClone { public static void main(String[] args) throws CloneNotSupportedException { Stri原创 2021-02-08 15:42:00 · 1600 阅读 · 1 评论 -
Java IO 的分类、使用场景、缓冲流、使用例子、文件拷贝
文章目录1、什么是IO1、流的特点:2、IO流的分类1、按方向分2、按处理数据类型分3、按功能分4、按有无缓冲分2、Java IO 流对象详解1、InputStream ——字节流输入流FileInputStreamBufferedInputStream2、OutputStream——字节输出流3、Reader——字符输入流4、Writer——字符输出流3、使用方法1、FileOutputStream写文件、FileInputStream读文件2、FileWriter写文件、FileReader读文件注意点原创 2021-02-03 14:17:45 · 797 阅读 · 7 评论 -
遍历Map的四种方法
1、keySet2、Map.entrySet 大量数据较快,常用3、Iterator4、map.values() 不常用public static void main(String[] args) { Map<Integer, String> map = new HashMap<>(); map.put(1, "五菱宏光"); map.put(3, "奥迪"); map.put(2, "宝马");原创 2021-01-26 17:22:57 · 262 阅读 · 0 评论 -
分享10个优质的Java练手项目
最近有很多小伙伴私信我说推荐几个毕设项目,在这里我收集了10个可以直接导入运行的项目。由简单到复杂,分别为:文章目录1、二手拍卖系统2、基于WEB的农产品销售管理系统3、mblog博客系统4、My-Blog5、学之思在线考试系统6、码问社区community7、在线考试系统8、eladmin9、RuoYi权限管理系统10、vhr 微人事管理系统1、二手拍卖系统这个系统我之前介绍过,是基于Nutz+JSP 搭建的,Nutz可以理解为这是一个轻量级的MVC框架。主要功能模块分为:用户模块订单模块原创 2021-01-17 17:33:40 · 3711 阅读 · 0 评论 -
2021超级详细的Java学习路线分享。
10张思维图,告诉你Java应该要怎么学。不知不觉踏入互联网行业已经三年了。回顾当初第一次接触Java,是在大学的课堂,晦涩难懂的知识点,现在还能想起被期末考试支配的恐惧。直到踏入互联网这个行业,加上前阵子把《Java核心技术卷1》、《深入理解Java虚拟机》、《计算机网络》等等这些书籍看完,再回想一下自己整个入行到工作的历程,总结了一下学习Java的路线,希望可以帮到各位初入行的Java小白。图一 大纲图二 Java基础图三 计算机基础图四 数据库图五 数据库前端图六 .原创 2020-10-04 18:17:43 · 462 阅读 · 1 评论 -
HTTP重定向到HTTPS,post请求成了GET请求 报 Required request body is missing 和 Request method GET not supported
本地调试没问题,但是把jar打到生产就报错了:2020-05-24 16:34:43,554 [http-nio-8888-exec-10] ERROR [c.y.springBootDemo.config.GlobalExceptionHandler] GlobalExceptionHandler.java:21 - 出错啦:org.springframework.http.converter.HttpMessageNotReadableException: Required request body原创 2020-05-24 18:33:19 · 2443 阅读 · 0 评论 -
maven打包 错误: -source 1.3 中不支持注释
MVC项目打包报错:错误: -source 1.3 中不支持注释但是编译通过。解决:指定maven打包的jdk版本: <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId...原创 2019-12-10 14:32:05 · 208 阅读 · 0 评论 -
JVM指令
Java 之所以流行,一个很重要的原因就是它的跨平台特性,Compile Once, Run Anywhere,编译一次,到处运行。即 Java 源码只需要编译成字节码文件,之后就可以在不同的操作系统(Windows、Mac、Linux)运行,准确讲是运行在操作系统上的 JVM 中。我们都知道通过命令 javac 来编译 Java 源代码,但是编译的具体流程步骤你有没有深入了解一下呢?相信很多朋友...转载 2019-12-09 11:37:13 · 115 阅读 · 0 评论 -
编译找不到jar
Git把项目clone下来直接编译,报错找不到jar,通过错误提示跳到代码,发现jar是有的。jar包是存在的:研究了一下idea的执行过程,其实idea的Tomcat是会执行target生成的jar打成jar包试试:cleaninstall(跳过测试)发现install成功了:target确实生成了一个jar,然后运行,发现可以了。...原创 2019-11-02 10:40:54 · 377 阅读 · 0 评论 -
多态
package com.yudianxx.basic.duotai;public class Chongzai { public static void main(String[] args) {// A a = new A();// B b = new B();// C c = new C();// A a = new...原创 2019-10-22 21:41:36 · 138 阅读 · 0 评论 -
HashSet、LinkedHashSet、HashMap
import java.util.*;public class Student { String name; String age; public Student(String name, String age) { this.name = name; this.age = age; } public String g...原创 2019-08-01 17:07:05 · 114 阅读 · 0 评论 -
myeclispe调试Fn键
F5:跳入方法 F6:向下逐行调试 F7:跳出方法 F8:直接跳转到下一个断点原创 2017-08-25 14:42:29 · 259 阅读 · 0 评论 -
接口
接口由接口声明和接口体两部分组成。其中,修饰符只有两种情况:public或省略修饰符,如果接口声明为public。则接口中的常量和方法全为public,接口也可以继承其他接口,称为父接口,子接口继承父接口中所有的常量和方法。接口中定义的常量,即符号常量,全部隐含为final和static,所以不需要再声明常量时加final和static修饰符,意味着他们就是类常量,不会被实现接口的类改变,且这些常量原创 2017-09-02 17:42:51 · 452 阅读 · 0 评论 -
静态代码块、非静态代码块、构造函数三者执行顺序
主要探讨一下关于静态代码块,非静态代码块,构造函数的执行顺序。 如有错误,欢迎指出。首先: 静态成员变量和静态代码块的优先级是一样的,先定义的先执行。 在创建一个对象的时候会执行非静态代码块和构造函数再者是执行顺序:/* * *(1)父类静态成员和静态初始化块,按在代码中出现的顺序依次执行。 * *(2)子类静态成员和静态初始化块,按在代码中出现的顺序依次执行。 * *(3)父原创 2017-09-29 11:56:22 · 786 阅读 · 1 评论 -
Java中static的用法,static、public为什么不能修饰局部变量?
人为规定的,记住就好。其实这些变量都之所以叫局部变量,其作用域也只限于声明它的方法体内。在方法被调用时,这些局部变量获得内存空间,到方法执行结束时,他们所占据的内存空间就被释放。用完就释放。而static,public是用来声明全局变量或是被其他对象引用的变量。关于static的用法:1.static变量 static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态st原创 2017-08-17 00:23:09 · 11431 阅读 · 0 评论 -
Java单例模式synchronized、volatile
单例模式简单说即一个类只有一个对象实例。从具体实现角度来说,就是以下三点: 1. 单例模式的类只提供私有的构造函数 2. 类定义中含有一个该类的静态私有对象 3. 该类提供了一个静态的公有的函数用于创建或获取它本身的静态私有对象,并返回该对象。代码:package 单例模式;/*好处:保证对象的唯一性 * 步骤: * 1,私有化该类构造方法 * 2,通过new在本类创建一个本类对象原创 2017-12-13 22:33:21 · 404 阅读 · 0 评论 -
继承的特点、多态,
package sonandfather;class father{ void eat(){ System.out.println("father eat"); } void hitson(){ System.out.println("father hit son"); }}class sonXiaoming extends f...原创 2018-02-25 22:33:20 · 236 阅读 · 0 评论 -
static修饰的变量只能在类中方法外
static修饰的变量为静态变量,静态变量属于整个类,而局部变量属于方法,所以static不能修饰局部变量,所以static也不能存在于方法。 如下:public static void main(String args[]){ static int a=0; //编译错误}...原创 2018-03-14 12:59:32 · 1078 阅读 · 0 评论 -
myeclipse创建web-project没有WebRoot文件夹
解决方法: 项目右击,preference——Project Facets——选择Dynamic Web Module原创 2018-05-21 14:24:28 · 5515 阅读 · 0 评论 -
JSP注释——查看源代码无法看到
JSP和HTML页面有很多种注释。 1 单行注释 //单行注释,源代码可以看到注释内容2 多行注释 /* 多行注释,源代码可以看到注释内容 */3.提示文档注释 /** 提示文档注释, 源代码可以看到注释内容 */4.隐藏注释,源代码无法查看注释。 <%– 注释内容 –%>...原创 2018-07-01 23:32:41 · 2507 阅读 · 0 评论 -
Database.executeQuery(Unknown Source)
java.lang.NullPointerException Database.executeQuery(Unknown Source)代码报错,找不到source,但是把SQL直接运行,是没有问题的,检查一下发现connection没有赋值。 原来报错的原因是只初始化了connConnection conn = null;解决:conn = MySQL.ge...原创 2018-07-29 21:06:51 · 875 阅读 · 0 评论 -
myeclipse修改jsp默认编码
然后新建的jsp默认就是utf-8了原创 2018-09-03 22:39:08 · 439 阅读 · 0 评论 -
ajax请求后后,response有数据,但是进入error方法
格式问题,前端用ajax请求java后台,已经返回数据。但是进入的是error方法。报200一般是这种情况ajax使用来json格式&lt;script&gt; $("#login").click(function(){ alert("进入方法成功"); var url="/ajaxText/info";原创 2019-02-23 21:28:27 · 3585 阅读 · 0 评论 -
static静态变量获取springboot配置文件的值,生产环境与测试环境区分
有时候把值设置在.yml或者.properties。在用到的时候会通过@Value去取。但是 static静态修饰的变量是无法通过@Value取到的,例如下面: /** * 是否测试模式(1:测试 2生产) */ @Value("${NEOCISDEMO1: 1}") public static String ISDEMO ;ISDEMO 的值是NU...原创 2019-06-14 15:58:39 · 3141 阅读 · 0 评论 -
HashMap与LinkedHashMap的遍历key的顺序
HashMap并不是无序的,LinkedHashMap是按照默认插入的顺序排列的。原创 2019-07-18 15:59:29 · 3079 阅读 · 0 评论 -
构造器注入、setter注入
getbean(“injectionServiceImpl”);<beans> <bean id="injectionServiceImpl" class="" ></beans> getbean(“injectionServiceImpl”);这两个注入都是一样的。原创 2017-08-21 23:25:42 · 567 阅读 · 0 评论