- 博客(43)
- 收藏
- 关注
转载 java内存介绍java --Runtime.getRuntime()内存查看
java.lang.Runtime类中的freeMemory(),totalMemory(),maxMemory ()这几个方法的一些问题,很多人感到很疑惑,为什么,在java程序刚刚启动起来的时候freeMemory()这个方法返回的只有一两兆字节,而随着 java程序往前运行,创建了不少的对象,freeMemory()这个方法的返回有时候不但没有减少,反而会增加。这些人对freeMemory()这 个方法的意义应该有一些误解,他们认为这个方法返回的是操作系统的剩余可用内存,其实根本就不是这样的。
2023-06-30 14:10:08
1386
转载 消息队列之使用场景
本来你就是 A 系统调用 BCD 三个系统的接口就好了,人家 ABCD 四个系统好好的,没啥问题,你偏加个 MQ 进来,万一 MQ 挂了,导致整套系统崩溃的,你不就完了?系统B和系统C根据自己的能够处理的请求数去消息队列中拿数据,这样即便有每秒有8000个请求,那只是把请求放在消息队列中,去拿消息队列的消息由系统自己去控制,这样就不会把整个系统给搞崩。又过了几天,系统D的负责人接了个需求,也需要用到系统A的userId,于是就跑去跟系统A的负责人说:“老哥,我要用到你的userId,你调一下我的接口吧”。
2023-06-28 10:36:50
179
原创 记录freemarker使用
在使用freemarker中的list时,需要做判空处理,这个和平时写java代码是一样的,做不判空在获取list 的内容时,会出现获取不到而报错,freemarker报错会比较难排查。判空使用if<#if xxPerson?exists && (xxPerson?size gt 0)>list不为空<#else>list为空</#if>下面的连接中有几种判空的方法,在别的博客中看到不要使用大于号 “>” ,在freemarker中会被
2022-02-25 08:46:27
407
原创 mysql多表联查修改排序后字段
mysql多表联查修改排序后字段首先问题sql写法首先问题下面链接中有案例链接: update和order by不能一起用.sql写法updatetable1 t1inner join (selectmcc.*,(@i := (@i + 1)) AS some_nofromtable2 t2left join table3 t3 ont2.字段名= t3.字段名left join table4 t4 ont3 .字段名 = t4 .字段名CROSS JOIN (SEL
2022-02-23 17:48:36
638
原创 word转pdf(docx4j)
最近使用docx4j在做word转pdf,搜了很多前辈的写的文章,收获很多,自己基本上也是按照他们的文章一步一步的做。本文章不讲具体的操作,只是记录一下遇到的问题;1. 在windows下中文可以转化,在linux中,文档中的中文转换成pdf后都变成“#”,2. 格式错乱,在表格中,有多行文字时只能展示最后一行的文字;文字间有空格时,文件之间的空隙会很大解决问题:问题1,因为linux环境中没有win的字体库(比如:常用宋体),所以需要把win中的字体拿到linux环境中,这里有两种方法,a,把字
2022-02-09 15:12:48
3378
1
转载 log配置文件分别讲什么
log4j.rootLoggerlog4j.rootLogger=INFO,db语法为: log4j.rootLogger = [ level ] , appenderName1, appenderName2, … level : 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关
2020-10-28 14:54:15
346
原创 java的内存泄露和内存溢出
作者:McAce链接:https://www.zhihu.com/question/40560123/answer/512873873来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。内存泄露本意是申请的内存空间没有被正确释放,导致后续程序里这块内存被永远占用(不可达),而且指向这块内存空间的指针不再存在时,这块内存也就永远不可达了,内存空间就这么一点点被蚕食,借用别人的比喻就是:比如有10张纸,本来一人一张,画完自己擦了还回去,别人可以继续画,现在有个坏蛋要了纸不擦不还
2020-10-27 19:05:18
167
原创 记录
redisTemplate.setHashValueSerializer(new Jackson2JsonRedisSerializer<>(UserStatus.class));用于改变redis序列化方式
2020-10-19 16:17:27
106
转载 转载的--------------------HTTP协议中的短轮询、长轮询、长连接和短连接
最近刚到公司不到一个月,正处于熟悉项目和源码的阶段,因此最近经常会看一些源码。在研究一个项目的时候,源码里面用到了HTTP的长轮询。由于之前没太接触过,因此便趁着这个机会,好好了解了一下HTTP的长长短短。了解的方式主要都是在网络上获取的,这里只是谈一下对于这四种叫法最直观的理解。如果你之前不懂的话,可以帮你普及一下,如果你之前就懂得话,可以互相对照一下。以前的误解很久之前就听说过长连接的说法,而且还知道HTTP1.0协议不支持长连接,从HTTP1.1协议以后,连接默认都是长连接。但终究觉得对于长连
2020-09-08 13:35:43
193
原创 记录阿里云中部署tomcat
在linux中安装tomcat可以参考这个:https://blog.youkuaiyun.com/weixin_37352094/article/details/80384278tomcat的启动要在斌里面下:./startup.sh启动成功以后,直接用http://ip :8080是访问不到的,要进入阿里云主机控制台,安全组,点击配置规则,就是将你的tomcat端口号放出来,此时参考:https://www.cnblogs.com/wxjnew/p/6962023.html...
2020-09-03 18:26:50
128
原创 找出出错的位置
public static int getVersionBug(int[] version){int low = 0;int high = version.length - 1;while (low <= high) {int mid = low + (high - low) / 2;if (!IsBug(mid)) {high = mid - 1;}else if( !IsBug(mid+1)){return mid;}else if(IsBug(mid)){low = mid
2020-08-02 23:09:07
169
转载 SQL的null查询、IFNULL函数、case when then问题{转}
SQL的null查询、isnull函数、case when then问题和net页面设置问题1.怎样在一个表中查询指定字段值为null的记录?最直接想法:select * from 表名 where 字段 = null测试结果:没有报错,但什么也没有显示出来。正确答案:select * from 表名 where 字段 is null2.SQL的ISNULL问题:使用ISNULL函数,可以使用指定的值替换null语法如下:ISNULL ( check _ expression , replac
2020-07-31 20:40:30
617
原创 MySQL 不支持 update 子查询更新
update SC set score=(select avg(SC_2.score)from SC SC_2where SC_2.C#=SC.C# )from Course,Teacherwhere Course.C#=SC.C# and Course.T#=Teacher.T# and Teacher.Tname=‘叶平’);修改为update sc INNER JOIN (SELECT sc.cid ,AVG(score) score_2from sc,course,teacherwh
2020-07-31 20:02:01
485
1
原创 记录MySQL 解压包的安装的过程
1.将解压包解压到安装目录下2.添加环境变量3.增加data文件夹和my.ini文件my.ini文件 中的内容:[client]port=3306default-character-set=utf8[mysqld]设置为自己MYSQL的安装目录basedir=D:/softwareDevelopment/mysql/mysql-5.7.27-winx64设置为MYSQL的数据目录datadir=D:/softwareDevelopment/mysql/mysql-5.7.27-winx
2020-07-29 23:15:03
119
原创 杨辉三角形
public static int[][] getYangehi(int n){int[][] yang = new int[n][2n-1];yang[0][n-1] = 1;for(int i=1;i<n;i++){for(int j=0;j<2n-1;j++){if(j== n-1-i || j == n+i-1 ){yang[i][j] = 1;}else {if(j-1>=0 && j+1 <2*n-1){yang[i][j] = yang
2020-07-28 23:57:55
601
原创 约瑟夫环 公式法
/*** 约瑟夫环 公式法*/public static int Joseph_Ring(int n ,int m){int p = 0;for (int i = 2;i<=n;i++){p=(p+m)%i;}return p+1;}参考:https://blog.youkuaiyun.com/u011500062/article/details/72855826
2020-07-27 10:51:23
239
原创 快速排序和插入排序的Java代码实现
public class sortTest {/** * 快速算法 */public static int[] quick_sort(int[] a,int l,int r ){ if (l < r) { int i = l,j = r; int X = a[i]; while (i < j) { // 从后向前的与基值比较并排序 while (i < j &&am
2020-07-26 22:47:07
157
转载 map 1.8新加方法
Java 8之Map新增方法<转>在Java 8中的Map.Entry接口中增加了comparingByKey, comparingByValue方法,它们都返回Comparator<Map.Entry<K,V>>, Comparator是一个函数接口,主要是方便Lambda表达式的使用。在Java 8中的Map接口增加了一些default方法,提升了对key, value操作的便利性。下面是基本数据的定义,通过这些数据说明新增的一些方法。1234Map&l
2020-07-26 17:55:44
269
原创 记录一个心力憔悴的bug
Aggregation aggregation = Aggregation.newAggregation(lookup,match,project,sort,limit,skip);以上代码有坑,不会报错,第一页也有数据,但是第二页就没有问题了,问题在与limit,skip的顺序,要先skip,在limit
2020-06-22 17:40:20
108
原创 mysql的安装包,安装方式
https://www.jb51.net/article/134181.htmhttps://blog.youkuaiyun.com/bfqs1988/article/details/80102981
2020-06-12 16:00:32
108
原创 笔记
分布式 https://www.jianshu.com/p/3c1204d1b2feelastic-job http://elasticjob.io/docs/elastic-job-lite/00-overview/intro/elastic-job 用法 https://www.jianshu.com/p/bf59c3562dd9
2020-04-02 20:04:40
81
原创 配合日志使用,用debug输出对象内容
我们现在都用lombak,tostring方法都被实现了所有参数的打印,加上这个tostring注解把父类的参数也搞出来,代码里经常需要debug整个对象的信息,在可能发送异常的代码点用try-catch捕获下异常,然后处理,不要try-catch一大段代码,保障try-catch到点,不要一个点出问题,整个程序都不能跑了...
2020-03-20 09:42:52
415
原创 日志的常用方式
代码关键点要打日志,error>warn>info>debug,这个是日志级别,异常日志必须用error,警告日志用warn,关键点用info,debug日志也多弄点,方便定位问题,一般正常环境都是info级别的日志,info,warn,error日志都会打印出来...
2020-03-20 09:28:30
64
原创 字符和集合的判定
字符串非空判断用apache.common.lang3的stringUtils,集合非空判断用apache.common.collection4的collectionUtils
2020-03-20 09:26:54
101
转载 mongodb复杂操作的博客
https://www.cnblogs.com/liu–huan/p/10721266.html#_label2都是直接写的原语句没有mongotemplate的语句
2020-01-13 14:58:56
134
转载 java开发须知
https://blog.youkuaiyun.com/qq1175421841/article/details/51030092http://baijiahao.baidu.com/s?id=1645697399905946184&wfr=spider&for=pchttps://cloud.tencent.com/developer/article/1148265https://bl...
2019-12-05 16:57:21
143
1
原创 linux中安装ftp
是个人觉得比较好的linux中安装ftp服务的博客https://blog.51cto.com/sf1314/2072984andhttps://www.cnblogs.com/Wang352051443/p/9805980.html
2019-11-12 15:45:51
96
原创 git的协同分布工作
使用git和GitHub进行协同开发流,是个网址详细的分工合作的网站https://segmentfault.com/a/1190000002413519#articleHeader2
2019-09-06 16:47:43
211
转载 String的Intern方法详解
引言在 JAVA 语言中有8中基本类型和一种比较特殊的类型String。这些类型为了使他们在运行过程中速度更快,更节省内存,都提供了一种常量池的概念。常量池就类似一个JAVA系统级别提供的缓存。8种基本类型的常量池都是系统协调的,String类型的常量池比较特殊。它的主要使用方法有两种:直接使用双引号声明出来的String对象会直接存储在常量池中。如果不是用双引号声明的String对象,可以...
2018-10-26 17:02:35
211
转载 java的字符串常量池(转)
http://www.cnblogs.com/brokencode/archive/2011/08/24/2151450.htmltest1:复制代码package StringTest;public class test1 {/**@param args*/public static void main(String[] args){String a = “a1”;Stri...
2018-10-26 16:59:49
118
转载 Dbutils学习(介绍和入门)
一:Dbutils是什么?(当我们很难理解一个东西的官方解释的时候,就让我们记住它的作用)Dbutils:主要是封装了JDBC的代码,简化dao层的操作。作用:帮助java程序员,开发Dao层代码的简单框架。框架的作用:帮助程序员,提高程序的开发效率。出生:Dbutils是由Apache公司提供。二:为什么需要Dbutils ?在使用Dbutils 之前,我们Dao层使用的技术是JDB...
2018-10-26 16:57:43
210
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人