![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
SkyFire1121
软件开发、信息安全
展开
-
Java内存分析--jstat虚拟机统计信息监视工具
jstat命令格式为:jstat [option vmid [interval[s|ms} [count]]]参数interval和count代表查询间隔和洗漱,如果不写,只查询一次,假设需要每250毫秒查询一次进程为2764垃圾回收情况,一共查询20次,命令如下:jstat -gc 2764 250 20各列含义如下(单位kb):NGCMN:新生代最小容量 NGCMX:...原创 2020-04-20 15:09:34 · 284 阅读 · 0 评论 -
面试题总结一
一、多个线程同时读写,读线程的数量远远大于写线程,你认为应该如何解决并发的问题?你会选择加什么样的锁?ReadWriteLock读写锁二、JAVA的AQS是否了了解,它是干嘛的?AbstractQueuedSynchronizer(AQS)为实现依赖于先进先出 (FIFO) 等待队列的阻塞锁定和相关同步器(信号量、事件,等等)提供一个框架。要明白AQS在功能上有独占锁和共享锁两种功...原创 2020-04-01 17:17:14 · 244 阅读 · 0 评论 -
spring5.x 源码编译 java.lang.AssertionError错误
之前版本为是4.10.3-all.zip,我本地下载的是5.6.3,所以将gradle改为5.6.3,重新编译即可。我的版本idea:2019.3;jdk:11.0.6;gradle:5.6.3。编译顺序:core-oxm-context-beans-aspects-aop...原创 2020-03-12 16:55:32 · 1738 阅读 · 0 评论 -
Java-多线程之互斥
1. 线程安全 线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。 线程不安全就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据。---百度词条2. 不安全举例 当1000-200和1000+300同时进行时,会出现两种结...原创 2018-03-21 12:01:25 · 431 阅读 · 0 评论 -
使用JQuery AJAX 解决vue中图表渲染异步问题
vue一般使用axios 发送请求,得到 一个promise对象,一般对数据进行处理是在.then()方法中执行,如:CommonApi.EnumType.getBusinessTypes({}).then(data => { CommonApi.EnumType.getNodeTypes({ businessTypes: data.data.map(item =>...原创 2018-06-25 18:21:10 · 613 阅读 · 0 评论 -
使用MessageDigest实现加密
MessageDigest 类为应用程序提供信息摘要算法的功能,如 MD5 或 SHA 算法。信息摘要是安全的单向哈希函数,它接收任意大小的数据,并输出固定长度的哈希值。MessageDigest 对象开始被初始化。该对象通过使用 update()方法处理数据。任何时候都可以调用 reset()方法重置摘要。一旦所有需要更新的数据都已经被更新了,应该调用digest() 方法之一完成哈希计算。对于...原创 2018-07-02 15:10:05 · 1497 阅读 · 0 评论 -
org.json.JSONObject JSONArray 解析json
{ "BIZ_TYPE": "xxx", "RESP_TIME": "2018-07-03 09:32:48", "RESP_ID": "xxx", "REQ_ID": "xxx", "RESULT": { "SUCCESS": "true", "RESULT_C原创 2018-07-03 10:18:26 · 779 阅读 · 0 评论 -
解析 JVM内存配置参数 -Xmx10240m -Xms10240m -Xmn5120m -XXSurvivorRatio=3
-Xmx:最大堆大小-Xms:初始堆大小-Xmn:年轻代大小-XXSurvivorRatio:年轻代中Eden区与Survivor区的大小比值年轻代5120m, Eden : Survivor=3,Survivor区大小=1024m(Survivor区有两个,即将年轻代分为5份,每个Survivor区占一份),总大小为2048m。-Xms初始堆大小即最小内存值为10240m...原创 2018-12-22 11:10:34 · 3993 阅读 · 0 评论 -
解决SpringBoot2中前台Long型数据精度丢失问题
想要解决long类型丢失问题,必要将long类型转换为String类型再传输,一共有三种解决方案方案一:注解方式:实体类中增加注解/** 主键ID */@Id@GeneratedValue(generator = "ID")@GenericGenerator(name = "ID", strategy = "assigned")@Column(insertable = false...原创 2019-06-10 16:47:02 · 5044 阅读 · 2 评论 -
SpringDataJPA+QueryDSL 报错 ClassNotFoundException: com.......QXXXX
主要是因为pom文件中少引入了一个插件<!--添加QueryDSL插件支持--> <plugin> <groupId>com.mysema.maven</groupId> <artifactId>apt-maven-plugin</arti...原创 2019-06-04 23:32:45 · 1834 阅读 · 0 评论 -
hibernate的Query、Criteria、SQLQuery对象使用
一、Query对象1. 使用query对象,不需要写sql语句,但是写hql语句(1)hql:hibernate query language,hibernate提供查询语言,这个hql语句和普通sql语句很相似。(2)hql和sql语句区别:- 使用sql操作表和表字段- 使用hql操作实体类和属性2. 查询所有的hql语句:from 实体类名称3. Query对象使用(1)创建Query对象(...原创 2018-03-06 15:15:33 · 408 阅读 · 0 评论 -
解决SSH项目中could not initialize proxy - no Session错误
因为hibernate跟spring整合以后,hibernate的session就交给spring管理了,请求进来的时候打开session,请求完成的时候关闭session。当我们想要使用懒加载去获取数据的时候,这时候原先的那个session已经关闭了,不能再获取数据了。由此,spring专门为这种情况作了一个过滤器org.springframework.orm.hibernate5.suppor...原创 2018-03-18 16:40:46 · 542 阅读 · 0 评论 -
Struts学习之简单入门程序
1. 创建web项目,添加jar包很多人不知道怎么添加struts2的jar包,其实不需要记,用解压软件打开struts-2.3.24.1\apps下的事例程序,直接复制WEB-INF下的lib文件夹中的所有jar包就可以了。2. 创建actionpublic class HelloAction { public String execute() { return "原创 2018-01-23 22:15:50 · 251 阅读 · 0 评论 -
SpringMVC在使用JSON时出现错误:charset=UTF-8' not supported和Required request body is missing
1. 问题:SpringMVC在使用JSON时出现Error: Content type 'application/json;charset=UTF-8' not supported和Required request body is missing。这个问题是在SSM框架中测试json出现的。(1)请求json串,输出json中的JS中的代码和Java代码$.ajax({ typ原创 2018-01-20 23:23:09 · 4179 阅读 · 0 评论 -
hibernate学习之简单核心概念
一、hibernate1. hibernate是什么?hibernate是一个开放源代码的对象关系映射框架(ORM),它是当今主流的Java持久层框架之一。(1)hibernate框架应用在JavaEE三层架构中的dao层框架。(2)在dao层对数据库进行crud操作,hibernate底层代码就是jdbc,hibernate对jdbc进行封装,好处为:不需要写复杂的jdbc代原创 2018-01-25 11:27:29 · 303 阅读 · 0 评论 -
实体类的编写规则
1. 实体类里面的属性都是私有的,即修饰词为private。2. 私有属性使用公开的set和get方法操作。3. 要求实体类有属性作为唯一值(一般使用id值)。4. 实体类属性建议不使用基本数据类型,而使用基本数据类型对应的包装类。(1)八个基本数据类型对应的包装类。--int ->Integer--char -> Character--其他的都是首字母大写,比如:原创 2018-01-25 16:50:41 · 846 阅读 · 0 评论 -
hibernate学习之主键生成策略
一、Hibernate最常用的主键生成策略为native和uuid。native可以根据数据库不同自动选择sequence、identity和hilo其中的一种。 uuid:hibernate可以自动生成UUID的值,实体类中主键属性的类型必须为String类型。二、Hibernate常用的主键生成策略的原理、特点、应用场合1. increment原创 2018-01-25 19:48:01 · 276 阅读 · 0 评论 -
SSM整合时,使用校验器hibernate-validator时报错。
javax.servlet.ServletException: Servlet.init() for servlet [springmvc] threw exception org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478) org.apache.catalina.valv原创 2018-01-19 19:22:21 · 1414 阅读 · 4 评论 -
SpringMVC+HibernateValidator,读取在properties文件中的错误提示信息为乱码
1. properties文件中的校验错误提交信息: items.name.length.error=请输入1到30个字符的商品名称 items.createtime.isNull=请输入商品的生产日期2. springmvc.xml中的配置为: 3. Java代码if (bindingResult.hasErrors()) { List allErrors原创 2018-01-19 21:26:21 · 1253 阅读 · 0 评论 -
hibernate一对多,多对多操作
一、hibernate一对多1.1 一对多映射配置以客户和联系人为例:客户是一,联系人是多。第一步:创建两个实体类,客户和联系人第二步:让两个实体类之间互相表示。让客户实体类里面表示多个联系人。一个客户可以对应多个联系人,这里装载联系人,装载的容器用的是Set集合,而不是LinkedList,因为Set集合的特点是,值不能够重复。在联系人实体类里面表示所属客户。一个联系人只能属于一个客户。客户实体...原创 2018-03-06 19:20:26 · 328 阅读 · 0 评论 -
hibernate事务操作
一、事务相关概念1. 什么是事务数据库事务是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。2. 事务特性一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性、一致性、隔离性和持久性)属性。原子性:事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。通常,与某个事...原创 2018-03-03 15:55:03 · 520 阅读 · 0 评论 -
hibernate学习之简单入门程序
1. 创建项目,导入jar包,创建Java项目即可。(1)在hibernate-release-5.2.12.Final\lib\required中的所有jar包,和lib\jpa-metamodel-generator在的jar包(2)mysql的驱动包:mysql-connector-java-5.1.38-bin.jar(3)日志包:log4j-1.2.17.jar,slf4j-原创 2018-01-24 18:58:52 · 306 阅读 · 0 评论