Java
dajiangqingzhou
这个作者很懒,什么都没留下…
展开
-
刚接触IDEA遇到的一些问题 不定时更新
因为我是从MyEclipse转过来的,所以觉得有点不太习惯。一、部署web项目MyEclipse上部署Javaweb项目的时候,默认会把项目放到Tomcat目录下的webapp文件夹,但是IDEA不会。如果想要设置部署项目的位置,可以在Project Structure里修改IDEA使用测试单元时无法导包重启一下服务器,就可以访问我们的项目了。二、设置缩写(MyE原创 2017-11-21 20:46:23 · 330 阅读 · 0 评论 -
IDEA导入Maven项目的问题记录
1. 导入maven项目后,一堆的依赖出现红色波浪线 maven的setting文件出错,本地仓库位置有问题。网上也有人是因为idea自己本身的bug,重新删除dependency,保存然后恢复就不会报错了。2. 部分dependency报错,而且是关于jdk版本的错误,而且idea时不时就update indices时间很长 清理idea的caches:在file》 参见:I...原创 2018-05-10 10:31:23 · 1206 阅读 · 0 评论 -
使用HashSet去重
在发邮件的功能里,往往需要对收件邮箱列表进行去重,防止重复向一个地址发送多次邮件。假如 toEmails的值是123@qq.com;123@qq.com;abc@163.com; String toEmails = "123@qq.com;123@qq.com;abc@163.com;" //转化为list集合 Str...原创 2018-07-17 16:47:16 · 1047 阅读 · 0 评论 -
常用IDEA快捷键 不定时更新
列模式 alt+shift+insert提取变量 ctrl+alt+v查看类结构 ctrl + h查看类的方法 ctrl + F12参数提示 ctrl + p解决错误、导包alt enter查找类文件 ctrl+n增加getter和setter alt+insert(我的笔记本上insert是Fn+PgDn)复制当前行到下一行ctrl+d删除当前行ctrl+y...原创 2017-11-23 21:43:43 · 232 阅读 · 0 评论 -
Batch update returned unexpected row count from update [0]; actual row count: 0;
产生这个错误的原因比较多,我遇到的问题是缓存的对象不一致导致的。比方说,第一次从数据库查询出userEneity1,然后set了两个属性,之后还未进行update,就再从数据库查询一次这个对象,这个时候就会导致同一个实体在缓存中的数据不一致,然后就导致了这个错误。一开始的代码,错误的产生在第三行,第三行的generateOrganizeNo()去缓存中查询了此处被set的organizat...原创 2018-09-03 10:35:36 · 1731 阅读 · 0 评论 -
安装Jebel激活服务器(Docker方式)
安装Docker1. 如果安装过旧版的docker(旧版的docker包叫做docker,新版的叫做docker-ce), 如果没安装过可以跳过sudo apt-get remove docker docker-engine docker.io2. 更新Ubuntu的软件源:sudo apt-get update3. 因为安装时下载软件包是通过https协议,所以需要安装...原创 2018-10-12 14:51:27 · 581 阅读 · 0 评论 -
could not extract ResultSet
今天遇到一个很奇怪的问题:org.hibernate.exception.SQLGrammarException: could not extract ResultSet 一般来说,这个错误是由于数据库的字段名跟hibernate的配置不一致导致的,比方说,实体类中配置了aaaa,但是在数据库中没有配置,在查询的时候就会出现这个问题。 我遇到的问题是,我用关...原创 2018-09-30 10:56:58 · 66004 阅读 · 4 评论 -
Java代码调用本地shell命令或shell脚本
1. 概述:java.lang包下有一个Runtime类,是一个封装了JVM进程的类。每一个JAVA程序实际上都是启动了一个JVM进程,那么每一个进程都是对应这一个Runtime实例,其实例是由JVM为其初始化的。该类有一个方法,exec(),我们就是使用该方法来调用shell命令的。2. exec方法的说明:Runtime.getRuntime().exec()方法主要用于执行外部的...原创 2018-11-12 16:35:21 · 2656 阅读 · 0 评论 -
SpringBoot 打包jar包时,跳过单元测试
在SpringBoot项目中,默认在mvn install 的时候会把test 目录下的测试单元走一边。如果我们使用了spring-boot-maven-plugin即项目中引入了 <build> <plugins> <plugin> <groupId>org.springframework.boot</groupI...原创 2019-03-14 10:19:02 · 2847 阅读 · 0 评论 -
Spring静态注入的方法(包括工具类中Bean的注入)
这里介绍的只是一种我自己比较好用的做法。因为刚好项目上用到,所以就记录一下。背景:因为在实际的应用中,我们的开发环境跟生产环境总是有些不同的,比如在某些工具类里面,我们可能需要用到不同的参数,因为工具类的方法是静态的,因此需要一些变量也是静态的。比如我项目中开发环境用的S3跟生产中的S3是不同的,因此需要不同的accessKey,secretKey。所以不可以写死,因此需要配置开发的配置和生产...原创 2019-03-22 15:24:06 · 903 阅读 · 0 评论 -
SpringBoot LogBack使用记录(未完待续)
一.slf4j log4j logback三者的关系slf4j,The Simple Logging Facade for Java. 它是一系列的日志接口.log4j和logback是日志接口的实现. 但是log4j遵循slf4j接口, logback遵循slf4j接口.而且logback拥有更好的性能. springboot默认使用logback作为日志框架.二. springb...原创 2019-06-15 11:05:28 · 284 阅读 · 0 评论 -
swagger使用记录
1. 自定义下拉列表@ApiImplicitParam注解和@ApiModelProperty注解中都有allowableValues属性, 都可以产生下拉列表.不同之处在于:1. @ApiImplicitParam注解中allowableValues生成下拉列表的顺序在其他类型产生的下拉列表之后,会覆盖其他类型产生的下拉列表,如enum类. 而@ApiModelProperty注...原创 2019-06-10 20:14:09 · 658 阅读 · 0 评论 -
EC2上磁盘占用100%-"No space left on device"
背景:今天访问服务器某个接口的时候,报错了,接口返回的报错信息如下:{"timestamp":"2019-07-02T09:16:16.276+0000","status":500,"error":"Internal Server Error","message":"Failed to parse multipart servlet request; nested exception i...原创 2019-07-02 19:50:20 · 817 阅读 · 0 评论 -
jrebel Could not find agent library/Can't load IA 32-bit .dll on a AMD 64-bit platform
今天启动JReble的时候,一直启动不了,启动log:jrebel Could not find agent library/Can't load IA 32-bit .dll on a AMD 64-bit platform.平时用都好好的。查阅了网上的资料后发现,好像都没有好的解法,重启一下IDEA就OK了。。。。。原创 2017-11-26 08:51:57 · 3078 阅读 · 1 评论 -
启动JRebel报错 Unable to ping server at localhost:1099
查阅了网上的一些资料如:https://stackoverflow.com/questions/19068977/intellij-cant-start-simple-web-application-unable-to-ping-server-at-localhost由于Tomcat默认关闭JMX功能,但JRebel需要jmx,所以导致jmx没启动,所以1099端口ping不通解决方法:原创 2017-11-23 17:19:33 · 2254 阅读 · 1 评论 -
HashSet如何保证元素的唯一性
HashSet的底层实现是哈希表,也就是说,保证元素的唯一性的第一层保证就是元素的HashCode。下面我们从源码的角度来分析:当我们向HashSet中插入一个元素的时候,发生了什么。 public HashSet() { map = new HashMap<>(); }这里HashSet的构造函数调用了HashMap,public class HashMap原创 2017-09-14 10:17:21 · 882 阅读 · 0 评论 -
MyArrayList——自己实现ArrayList
注:转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5965205.html 代码已移植:https://github.com/ygj0930/MyArrayList 大家fork之余随手给我个star呀~ ArrayList是我们常用的集合类之一,其实它的实现机制很简单,底层还是使用了一个传统的Array数组来保存数据的。转载 2017-09-15 09:20:18 · 530 阅读 · 0 评论 -
Java中的三元运算符?: error: not a statement
运行以下代码时报错:/* package whatever; // don't place package name! */import java.util.*;import java.lang.*;import java.io.*;/* Name of the class has to be "Main" only if the class is public. *//**原创 2017-08-27 21:22:42 · 28077 阅读 · 1 评论 -
Java参数传递小结
根据代码,判断哪段代码可以使打印出来的1跟2的顺序相反class Demo{ int a; public Demo(int a){ this.a=a; } } public class TestQuote{ public static void main(String args[]){ Demo d1=new De原创 2017-09-06 15:14:27 · 281 阅读 · 0 评论 -
Java的自动装箱与拆箱小结
Java中,装箱就是 自动将基本数据类型转换为包装器类型;拆箱就是 自动将包装器类型转换为基本数据类型。自动装箱与拆箱的特点有(1)包装器类型与基本数据类型之间可以进行比较,以及运算,在过程中,需要将包装器类型拆箱,再进行比较及运算 (2)包装器类型之间也可以进行比较及运算,也是需要先将其拆箱,再进行比较及运算。 (3)如果值不在-128~1原创 2017-09-15 20:23:14 · 306 阅读 · 0 评论 -
一道关于继承的题目
问:以下代码段最后输出的是什么class Dog { public static void bark() { System.out.println("woof "); }}class Basenji extends Dog { public static void bark() { }}public class Bark { public static void m原创 2017-09-26 16:50:25 · 609 阅读 · 0 评论 -
java.io.FileInputStream.read()的返回值类型为什么是int而不是byte
通过阅读InputStream类和FileInputStream类里的read()方法(native方法)的源码,read()方法的返回值有两种含义,虽然他们都是int类型。下面我们来看一下源码:/** * Reads the next byte of data from the input stream. The value byte is * returned as an <原创 2017-09-20 16:13:32 · 8205 阅读 · 2 评论 -
关于字符串拼接的问题
一、分析以下代码:public class StringAddTest { public static void main(String[] args) { String str = "hello"; String str1 = "hello000"; String str2 = "hello" + "000"; String str3 = "hello" + new Str...原创 2017-09-26 22:01:55 · 893 阅读 · 0 评论 -
BufferedOutputStream 源码的个人理解
(注意不能抛开代码去看源码,我之前只注意到BufferedOutputStream的构造方法里限定的参数类型是OutputStream, 然后去查outputStream的write方法,到最后发现write(int b)是一个抽象函数,结果就懵逼了)原创 2017-09-21 10:18:02 · 370 阅读 · 0 评论 -
四种字节流复制文件的效率比较
单个字节读取后再写入到流中的方式太慢了,暂且不讨论之(main函数中已经注释掉了)。其实通过阅读bufferedoutputstream的源码我们可以知道, bufferedoutputstream实际上就是提供了一个数组来缓冲数据,而在方式二中,我们同样提供了一个数组来缓冲数据,将读取到的数据先存到数组中。一开始,方式二与方式四用于接收读取的到的数据的数组长度都是1024,运行之后,确实是用原创 2017-09-21 22:48:20 · 996 阅读 · 0 评论 -
Ajax的使用
一、什么是Ajax AJAX的全称是Asynchronous JavaScript And XML,即它是基于服务器的页面异步处理技术。它改变了古老的用户请求-等待-响应这种WEB交互方式。举个例子,我们做一个注册登录的页面,在没有用到Ajax的时候,我们只能在用户点击注册之后,页面的表单数据提交到服务器,服务再去查数据库看看用户名是否已经存在了,然后给用户返回结果,在用户提交信原创 2017-11-10 10:08:51 · 182 阅读 · 0 评论 -
Ubuntu 中安装 IDEA 报错:Warning the selected directory is not a valid tomcat home
在Ubuntu上安装IDEA很方便,只需要将IDEA官方的tar.gz包下载到本地,我下载的如下图:然后用命令tar -xvf ideaIU-2017.2.6.tar.gz将文件解压好,cd 到其bin目录,然后运行./idea.sh接着选择默认安装就可以了。安装完成后,我在配置Tomcat的时候报错:Warning the selected directory is not a va原创 2017-11-15 15:55:04 · 8490 阅读 · 2 评论 -
IDEA debug模式下默认会调用变量的toString()方法
在测试hibernate中session的load方法时,发现怎么也没办法跟理论的情况一致。load(User.class,2) 表示到数据库user表查询主键为2的数据记录,并将其封装到user对象中返回。但是,要等到我们用到user对象的时候才会真正去查询数据库。实现的原理就是代理。但是在debug的时候,总是运行完load()方法,log中就出现查询数据库的语句。这不就是跟get方法原创 2017-11-30 15:16:08 · 2892 阅读 · 2 评论 -
hibernate 中的Inverse Cascade
inverse 原意:反转。这里理解为让对方做事。也就是inverse=true关系让对方维护,为false为双方维护。多对多中维护的意思就是增加或者更新实体记录时,是否增加或者更新关系表的记录(当然,此时要求对象中要有set集合,这样才有意义)。一对多中,是否是表示在多的一方表中增加记录,在多对多关系中,cascade表示是否在子表中创建或更新记录(也就是cascade涉及实体记录),而原创 2017-11-29 15:58:14 · 303 阅读 · 0 评论 -
object references an unsaved transient instance - save the transient instance before flushing
今天在测试hibernate的时候,发生了object references an unsaved transient instance - save the transient instance before flushing: com.aaa.bean.Tutor这样的错误。一般来说,这样的错误还是挺常见的。但是问题恰恰出现在不常见的地方。先贴配置文件和测试代码:原创 2017-11-30 21:33:34 · 17974 阅读 · 0 评论 -
Could not create disk store. Initial cause was null
hibernate配置二级缓存的时候,报错C:\Java\jdk1.8.0_151\bin\java -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:C:\Program Files\JetBrains\IDEA\lib\idea_rt.jar=1988:C:\Program Files\JetBrains\IDEA\bin原创 2017-12-01 21:14:07 · 1934 阅读 · 0 评论 -
offsetByCodePoints()与codePointAt()
在Java api文档中对这两个方法的解释为offsetByCodePointspublic int offsetByCodePoints(int index, int codePointOffset)返回此 String 中从给定的 index 处偏移 codePointOffset 个代码点的索引。文本范围内由 index原创 2017-08-26 19:01:15 · 3712 阅读 · 3 评论