Java相关
FromNowOnUntilTheEnd
每日记录
展开
-
int报错:List<int> list=new List<int>()快速了解List
java中的List<int> list=new List<int>();这条语句的两个int处会报错,原因:第一:List是接口,需要实现类ArrayList或者LinkedList,不能new List;第二:int是基本数据类型,只能用Integer正解:List<Integer> list = new ArrayList<Integer&...原创 2018-12-11 09:41:13 · 1672 阅读 · 0 评论 -
热更新Demo:java底层及agentmain()三种实现方式
一、 热更新入门级Demo,原文:[探秘Java热部署](https://www.jianshu.com/p/731bc8293365)代码编写:1)新建一个类AccountMain.java,执行替换ClassLoader 的操作。它的main()方法是一个间隔 20 秒的死循环,为什么间隔20秒呢?因为我们要在启动之后,修改类,并重新编译,因此需要20秒时间。代码解析:创建一个自定义...转载 2018-12-19 16:04:19 · 3108 阅读 · 4 评论 -
深入剖析java引用及其变量所占实际内存
以下所有测试都是开启了指针压缩(默认)的情况,所以一个指针占4byte。那么,问题来了:1、现在有10兆长度的数组,问:它占多少内存?(4*10=40兆)2、10兆长度的引用+10兆长度的数组,问:它占多少内存?(40+160=200兆)3、一个int+10兆长度的数组+10兆长度的引用,问:它占多少内存?(不变,依然是40+160=200兆)4、10兆长度的引用里多了一个类B+1...原创 2018-12-13 16:12:06 · 1412 阅读 · 2 评论 -
1-N维数组的长度,遍历数组要-1,求长度不用
数组的长度一维: int[] array; array.length;二维: int[][] array; array[0].length;三维: int[][][] array; arra...原创 2018-12-06 09:42:19 · 1076 阅读 · 0 评论 -
输出日志文件的异常及其出现次数
需求:输出日志文件的异常及其出现次数1) 忽略只有一行的报错2) 同样的报错合并,次数+1显示效果: 完整代码,复制粘贴到你的程序中就可以直接使用,链接:https://download.csdn.net/download/qq_36688143/10827827思路:1)对日志内容转码bufferedReader = new BufferedReader(ne...原创 2018-12-04 17:00:33 · 962 阅读 · 0 评论 -
JMS:java消息服务学习入门
什么是Java消息服务 为什么需要JMS JMS的优势 JMS消息传送模型 接收消息 JMS编程接口 JMS消息结构 JMS使用示例 译文链接(做了部分修改~~)什么是Java消息服务 Java消息服务指的是两个应用程序之间进行异步通信的API,它为标准消息协议和消息服务提供了一组通用接口,包括创建、发送、读取消息等,用于支持JAVA应用程序开发。在J2EE中,当两...转载 2018-11-23 14:57:46 · 301 阅读 · 0 评论 -
component-scan中base-package通配符扫描不到包
今天在配置Spring的component-scan时,发现了一个有趣的问题。就是在指定base-package时,如果使用了星号通配符*,有时会出现类扫描不到的情况。下面研究一下这个问题。先介绍一下项目结构: 为了演示,我在java文件夹下创建名为controller的包,并在该包下创建了一个名为IndexController的类。如图所示: 先来看正常情况: 在Spring配置文...转载 2018-11-22 16:09:30 · 7306 阅读 · 0 评论 -
socket阻塞与非阻塞,同步与异步、I/O模型
同步/异步与阻塞/非阻塞经常看到是成对出现:同步阻塞,异步非阻塞,同步非阻塞 1. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步/异步主要针对C端: 同步: 所谓同步,就是在c端发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一...转载 2018-11-20 08:47:58 · 145 阅读 · 0 评论 -
<pre>:文本保留格式化显示
我们经常会在要保持文本格式的时候使用pre标签,比如当我们要展示源代码的时候,只要放一个pre标签,然后把源代码直接复制,粘贴,然后在页面上就可以保持好格式。不会像放在其它标签里那样,把换行和空格都自动折叠了。这里看一下pre是如何工作的呢?pre标签HTML里的pre元素,可定义预格式化的文本。在pre元素中的文本会保留空格和换行符。文本显现为等宽字体。下面我们看一个示例,这里我使用的...转载 2018-11-19 10:04:03 · 987 阅读 · 0 评论 -
HttpClient:Target host must not be null, or set in parameters.
HttpUriRequest request = new HttpGet("xiaoshourr.taobao.com");报错:Target host must not be null, or set in parameters.问题:连接地址不完整, 必须加上"http://"HttpUriRequest request = new HttpGet("http://xiaoshou...转载 2018-11-21 11:12:08 · 534 阅读 · 0 评论 -
A标签直接下载文件
<a href="http://文件链接" download="">下载</a>有时候不加download属性也可以,那是因为一些浏览器的原因。为了兼容大部分浏览器,还是需要加这个属性的。注意:如果是txt或者jpg会自动打开,别的文件格式才会下载,而且也改不了文件名,改文件名需要后台操作...原创 2018-11-16 11:18:04 · 11687 阅读 · 1 评论 -
java代码执行maven命令:调用maven接口或者控制台两种方式
1、java代码执行maven命令:调用maven接口 1)首先下载maven-invoker.jar<dependency> <groupId>org.apache.maven.shared</groupId> <artifactId>maven-invoker</artifactId> <...原创 2018-12-20 15:31:25 · 14033 阅读 · 8 评论 -
热部署:WatchService监控+调用maven接口替换ClassLoader
1、调用maven接口的maven-invoker.jar<dependency> <groupId>org.apache.maven.shared</groupId> <artifactId>maven-invoker</artifactId> <version>3.0.1</...原创 2018-12-21 13:34:28 · 489 阅读 · 0 评论 -
List赋值和赋值给另一个List的4种方法
快速赋值一个list,使用代码块List<String> parisAttractions = new ArrayList<String>(3){{ add("b1"); add("b2"); add("b3");}}; List赋值给另一个List的4种方法 声明:ArrayList a, 仅仅只是声明了一个list变量,其作用...转载 2018-12-11 09:39:12 · 34391 阅读 · 1 评论 -
new ArrayList(integers):List包含List的赋值
List<List<Integer>> result = new ArrayList<>();List<Integer> integers = new ArrayList<>();// ArrayList是一个引用,记录的是指向位置,如果对应位置上的数据被修改,结果就不是想要的了。// 浅拷贝result.add(...原创 2019-07-30 16:15:25 · 4028 阅读 · 0 评论 -
Javac报乱码和Mybatis Log Plugin插件:Mybatis的SQL转换为直接运行的SQL
javac乱码就在后面加上-encoding utf-8,如javac GumballMachine2.java -encoding utf-8Mybatis Log Plugin 打印SQL:先打开这个插件Tools->Mybatis Log Plugin,如图所示运行中然后启动项目,这个显示框就会自动把项目运行过程中,执行的SQL转换为能直接运行的SQL显示出来...原创 2019-06-05 11:17:22 · 470 阅读 · 0 评论 -
对List实体类里的属性分组排序并赋新值
对一个List<Entity>中的实体类某个或者某几个字段进行分组,然后再对实体类的另外的属性进行排序,并重新赋值public class Test{ public void test(List<Entity> entities) { /** * 方法一:确保要比较的字段不为null之后可以直接使用lambda ...原创 2019-04-23 14:18:09 · 1015 阅读 · 0 评论 -
map实体类作为key分别取key和value
map分别取key和valueMap<entity, String> map = new HashMap<>();遍历key取valuefor (Entity entity : map.keySet()) { // entity即为每一个key}遍历value取keyfor (String str: map.values()) { ...原创 2019-03-12 08:23:49 · 1944 阅读 · 0 评论 -
jps查看java程序占用的pid进程并kill
直接在cmd执行jps,可以看到java程序占用的pid进程执行命令kill + 「进程pid」的方式杀死某一进程ubuntu:查看进程占用端口号:netstat -anp|grep [pid]原创 2019-03-11 16:39:16 · 2693 阅读 · 0 评论 -
浏览器无法通过localhost连接项目:清缓存,重启浏览器
报错信息解决办法 1、浏览器清缓存 2、浏览器重启原创 2019-01-21 10:31:28 · 1047 阅读 · 0 评论 -
线程安全定义
在进行并发编程的时候我们需要确保程序在被多个线程并发访问时可以得到正确的结果,也就是实现线程安全。线程安全的定义如下:当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么这个类就是线程安全的。举个线程不安全的例子。假如我们想实现一个功能来统计网页访问量,你可能想到用count++ ...转载 2019-01-15 10:31:07 · 1048 阅读 · 0 评论 -
Windows防火墙设置出入站规则原理
同一内网中别的计算机可以ping通本机:启用防火墙自带的虚拟机监控(回显请求- ICMPv4-In)s规则Windows防火墙的规则扫描有它自己特定的顺序,其优先级为:1、只允许安全连接2、阻止连接3、允许连接4. 默认规则(如果没有设置,那就是默认阻止) As soon as a network packet matches a rule, that rule is ap...原创 2019-01-11 16:10:23 · 17426 阅读 · 10 评论 -
StringUtils中isEmpty 和isBlank的区别
StringUtils中isEmpty 和isBlank:1.public static boolean isEmpty(String str)判断某字符串是否为空,为空的标准是str==null或str.length()==02.public static boolean isBlank(String str)判断某字符串是否为空或长度为0或由空白符(whitespace)构成...原创 2018-10-23 08:21:45 · 392 阅读 · 0 评论 -
Invalid or unexpected token:数据格式错误
Uncaught SyntaxError: Invalid or unexpected token,翻译成中文是:捕获的查询无效或意外的标记。代码逻辑没问题,那么就是数据问题了,把页面要展示的数据全部检查一遍后,果然发现疑点1、多了单引号、双引号2、加密后的一串16位/32位字符串,在jsp传到后台的时候报错,解决办法:给这串字符串加单引号或者双引号其实这个错误提示是告诉我们:...转载 2018-10-23 08:16:42 · 136539 阅读 · 2 评论 -
文件重命名功能--对循环里特定的某一项操作,可是发现id等属性都相同每次都只能改变第一个的原因及其解法
对循环list里的值遍历并输出,如图所示要对其中特定的某个文件进行重命名的时候,因为是遍历,所以会发现每次都是只重命名了第一个<table class="table table-hover"> <tr> <th>id</th> <th>folder</th> <th>功能一原创 2018-03-10 15:03:08 · 302 阅读 · 0 评论 -
通过Java实现单链表来透彻理解抽象数据类型的定义和应用
Java实现单链表 本文将数据结构知识中重要知识点:数据元素,结点,数据类型,抽象数据类型,抽象数据类型的实现、以及对新定义的数据结构的应用等知识通过下述java代码的形式串联起来,以从宏观上对数据结构有一个透彻的理解和认识。 我们要使用单链表这个数据结构来解决问题的前提是首先得创建一个单链表数据结构。创建单链表数据结构,就得自定义个单链表的抽象数据类型,抽象数据类...转载 2018-02-23 17:16:09 · 1111 阅读 · 0 评论 -
java项目中log输出提示信息
log4j.properties 文件中### 设置### log4j.rootLogger = debug,stdout,D,E ### 输出信息到控制抬 ### log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out log原创 2018-02-22 01:01:22 · 8889 阅读 · 3 评论 -
查找8080进程并终止该进程(在cmd窗口中)
查找8080进程直接复制即可:netstat -aon|findstr "8080" 终止该进程(在cmd窗口中)xxx代表8080进程的端口号:taskkill /pid xxx -F操作如图原创 2018-03-07 10:30:42 · 1811 阅读 · 0 评论 -
input输入框点击变大缩小的js代码
一、input输入框点击变大缩小的js代码html中<style type="text/css">input[type='text'] { width: 100px; height: 30px; border-radius: 5px;}</style></head><body> <p> 标题:<input c..原创 2018-03-06 19:43:54 · 6115 阅读 · 0 评论 -
Cookie应用之用户上次访问时间、用户浏览记录(转)
原文链接:http://blog.csdn.net/qq_34944851/article/details/53282879一、用户上次访问时间: 1、需求及分析图: 2、功能实现: 1)代码部分:package sram.cookie;import java.io.IOException;import java.io.PrintWriter;import java.text.SimpleD转载 2018-01-19 09:25:19 · 239 阅读 · 0 评论 -
js获取Blob加密图片url
原文链接:http://www.cnblogs.com/tujia/p/6483255.html1)使用 XMLHttpRequest 对象获取图片url的Blob值//获取图片的Blob值function getImageBlob(url, cb) { var xhr = new XMLHttpRequest(); xhr.open("转载 2018-01-25 15:02:54 · 4764 阅读 · 0 评论 -
对视频播放url进行Blob加密
采用Blob可以在一定程度上模糊住大家。例如下面的这个播放地址:blob:http://simpl.info/884da595-7816-4211-b6c3-607c444556efBLOB (binary large object),二进制大对象,是一个可以存储二进制文件的容器。Video 使用 blob 二进制流需要前后端同时支持。Java 生成 Blob 二进制流/*...转载 2018-01-25 15:01:05 · 21490 阅读 · 17 评论 -
替换字符串replace和replaceAll的使用
replace就是java的替换,“\\” --> “\”replaceAll是在replace的基础上再被正则表达式替换,“\\\\” --> “\”①String s = "\\a\\b";System.out.println(s); // \a\b②String s = "/a/b";String s1 = s.replace("/","\\")原创 2018-01-09 20:16:14 · 632 阅读 · 0 评论 -
abstract class和interface的区别
在Java语言中,abstract class和interface是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两者之间还是有很大的转载 2018-02-02 17:42:19 · 150 阅读 · 0 评论 -
选择多个文件上传<input type="file" id="myfileinput" multiple>
一个FileList对象通常来自于一个HTML input元素的files属性,你可以通过这个对象访问到用户所选择的文件.该类型的对象还有可能来自用户的拖放操作,查看DataTransfer对象了解详情.Gecko 1.9.2 note(Firefox 3.6 / Thunderbird 3.1 / Fennec 1.0)在Gecko 1.9.2之前,通过i原创 2018-01-24 15:31:35 · 6228 阅读 · 0 评论 -
SpringBoot 中常用注解@Controller/@RestController/@RequestMapping介绍(转)
我的总结:①@RestControllerSpring4之后新加入的注解,原来返回json需要@ResponseBody和@Controller配合。即@RestController是@ResponseBody和@Controller的组合注解②@Controller 用来响应页面,必须配合模版来使用SpringBoot 中常用注解@Controller/@RestController/@Requ...转载 2018-03-03 11:57:26 · 288 阅读 · 0 评论 -
mybatis获得自增长id
<selectKey resultType="Integer" order="AFTER" keyProperty="id"> SELECT LAST_INSERT_ID() AS id </selectKey>keyProperty是Java对象的属性名,而不是表格的字段名。把这个代码copy到xxx.xml就可以用了,如:dao层的ma...原创 2018-03-06 15:43:44 · 764 阅读 · 0 评论 -
String转为long 类型报错原因:要转为long必须是int、double、float型
遇到该问题的解决办法一:String strTime = "12.5416132";double dblTime = Double.parseDouble(strTime); long lngTime = new Double(dblTime).longValue();log.info("lngTime:"+lngTime);具体报错原因请看下面的例子和解释:上例子:string a =...原创 2018-03-30 20:56:03 · 11463 阅读 · 0 评论 -
Java注解Annotation原理
先上个人总结:1、注解就像标签,用来注释代码的作用。2、注解是在接口的关键字前面加一个@符号:@interface3、注解可以有默认值,如果是一个值,可以直接括号里面赋值或者(value="xx"),如果是多个值的话,每个value用逗号分开赋值4、注解通过class的反射获取,首先可以通过 Class 对象的 isAnnotationPresent() 方法判断它是否应用了某个注解p...转载 2018-09-06 19:10:03 · 231 阅读 · 0 评论 -
java异常捕获:class Annoyance extends Exception {} class Sneeze extends Annoyance {}
class Annoyance extends Exception {}class Sneeze extends Annoyance {} class Human { public static void main(String[] args) throws Exception { try { try { throw new Sneeze(); } ...转载 2018-09-05 14:56:25 · 2965 阅读 · 0 评论