自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 分布式锁--redis和zookeeper

java实现redis的分布式锁

2022-07-21 12:16:37 434 1

原创 spring的controller接受参数为空的问题

我通过url地址访问我的项目上面红线标注的是传到controller的参数所以,我们接受的参数也要和这个传过来的名字一致才可以,否则会导致参数传过来为空的情况对应controler的参数如下图红框所示...

2022-03-31 17:35:27 2751 1

原创 关于jvm垃圾回收机制是否可以不用stop the word(STW)猜想

思路如下:用可达性算法,在Garbage First的region模式下,和用户线程一起标记GCroot,接下来和用户线程一起运行,直接清理此region里面没有被引用的对象。这个过程就不会STW,但是还有一些没用的对象存在,这种没用的对象越来越多,咋办呢。一旦这个情况积累了一定的内存后,如果到达了一个规定发峰值,可以执行现有Garbage First的模式,还是要SWT。总结一下,GC可以分为2大过程,第一个过程是我的想法,GC可以一直和用户线程一起执行,先清理一部分无用内存,不需要STW。第二个过程

2020-07-29 23:37:31 589

原创 oracle普通索引和唯一索引的区别

以下是建表语句的2个列的索引设置--创建唯一索引create unique index 索引名 on 表名(列名); --创建普通索引create index 索引名 on 表名(列名); 实际区别:-唯一索引:当前索引列不会有重复的值-普通索引:当前索引列可能有重复的值使用区别:-唯一索引:查找时可以定位精准,不会进行多余的查找,找到数据就可以放回,效率高-普通索引:找到符合要求的数据后,查询不会停止,会不停的继续向下一个查找,一直持续到下一个的值时不符合要求的才会停止,效

2020-07-29 10:36:40 1548

原创 windows的cmd常用命令大全

[https://www.cnblogs.com/kekec/p/3662125.html]真的很全

2020-07-23 15:48:34 246

原创 cmd脚本传入参数运行java的jar包

首先写一个java的main函数必须是main函数才可以运行public class ScriptTest { public static void main(String[] args) { // 通过脚本传进来的第一个参数 System.out.println(args[0]); // 通过脚本传进来的第二个参数 System.out.println(args[1]); // 通过脚本传进来的第三个参数 System.out.println(args[2]); }}

2020-07-22 23:36:08 3075

原创 一只公鸡5块钱,一只母鸡3块钱,3只小鸡一块钱,一个农夫用100块钱买100只鸡(不许解方程),怎么实现,编写java程序。java算法

public static void main(String[] args) { // 一共有集中购买方式 int n = 1; // 公鸡的数量为a for(int a = 0;a < 26; a++) {// 如果有25只公鸡就会超过100块 // 母鸡的数量为b for(int b = 0;b< 34; b++) {// 如果有34只母鸡也会超过100块 // 小鸡的数量为c for (int c = 0; c < 100; c++) { if((

2020-07-16 21:06:25 2798

原创 请写一个处理函数,该函数接受一个字符串作为输入,以统计出字符串所包含字符 “(”和 “)” 可匹配成对的数量

用java代码实现 public static void main(String[] args) { String string = "()()()(()())()"; // 记录string里面字符的位置和 int i = 0; // 记录前面是否有"(" boolean has = false; // 记录有几对() int num = 0; while (true) { // 如果循环大于string的长度,就跳出 if (i + 1 > strin

2020-07-16 20:56:44 519

原创 java通过反射(reflex)获取对象(Object)内部属性的值

用嘴简单直接的代码满足需求话不多说,上代码,很简单,有几句注释看看就够了首先随便建立个实体类import java.util.List;/** * @author q3311 * */public class People { private int age; private boolean sex; private String name; private List<String> sonName; public int getAge() { return

2020-07-10 08:58:41 632

原创 java适配器模式之--对象适配器

举个例子:现在有2个类。classA和classB,这个2个没有关联,如果我们想关联classA和classB,那么我们就创造一个classC,去关联这classA和classB。这就是适配器模式中的–对象适配器(还有一个–类适配器,此类型带有继承的写法,不利于扩展和维护,用的地方就很少)更形象的解释如下:现在有一个RMB的java类,还有一个IGameProp(游戏道具)的接口,现在的游戏交易,基本都不会直接用人名币直接购买,而是换成游戏币购买(我也不知道为什么大家都这样)。那么我们就需要一个Gam

2020-07-08 23:11:04 177

原创 java享元模式+工厂模式+单例模式,减少new对象的个数,减少内存中堆的消耗

长话短说······享元模式的优点是:减少相同对象的船舰······工厂模式在这个设计模式起到了管理对象的作用······单例模式(多对象单例)这个是享元模式的核心。决定了相同的对象不用重复创建······这又是一个面向接口的编程,享元模式可以减少相同的对象创建。相同的对象就是对象类型相同并且对象的内部属性相同,比如一个对象里面只放了一个String,如果2个对象放的Sting是equals的,那么就可以认为这两个对象是相同的对象。这2个对象中有任何不形同的点,就不能算是相同的对象,就不能用享元模式

2020-06-27 14:34:13 476

原创 java策略模式+反射机制+枚举,似乎可以完全取代if else

在我看来:······策略模式的优点是:拓展方便+不影响原有代码+可以提取公共方法,减少代码冗余······将反射放进策略模式的优点是:可以自动创建对象,不用手动创建······将枚举放进策略模式的优点是:枚举可以存储多个属性值本方案拓展的用法:······只用增加策略的实现类,和枚举类下面是代码,多看注释,都在注释里代码大概实现的功能是,2个不同的会员实现不同的折扣首先是会员的枚举类public enum UserPlayServiceEnum { //会员类型,会员实现类名,会员

2020-06-26 00:36:31 726

原创 纯java递归数据库用sql查询数据(不考虑复杂的循环调用)

最近在做的需求有一个点是,查询上下级关系,本想着用oracl的树查询,但是会莫名少很一些数据(因为此查询涉及循环,但是这种循环是被业务允许的),也没空具体研究oracle的树查询,后来用java递归的方式,递归查询数据库,勉强实现了该需求,但是还有一些循环引用的关系没有正确展示出来,目前程序的能力,在不加业务规则的前提,因该不能完美实现此需求代码也没优化,先贴上来,以备后用,用这个查询,比oracl树查询会多一些正确的数据/** * 将递归查询的从上到下的每条记录都放在一个list里 * @pa

2020-05-12 21:01:56 866

原创 跳过配置文件,用纯java代码配置log4j生成的log文件的位置

首先放一个log4j.properties配置文件(网上随便搜的)log4j.rootLogger = debug,stdout,D ### \u8F93\u51FA\u4FE1\u606F\u5230\u63A7\u5236\u62AC ###log4j.appender.stdout = org.apache.log4j.ConsoleAppenderlog4j.appender.s...

2020-02-08 15:43:16 721

原创 svn客户端:authorization failed

svn报错如下问题描述:就如svn所说authorization failed(中文意思是;授权失败),说明我们的账号没有这个目录的权力,注意是“目录”我的解决办法是:选择正确的目录即可例如:报错的目录:正确的目录;我分析出问题的原因是:svn每个账号都有各自的权限,则个权限因该是以目录作为单位,如果这个账号的基本权限是第三层,我们只选择到了第二层,就会报错...

2020-01-16 16:24:10 5998

原创 java统计一个字符串包含某个特定字符的个数

不改变字符串,不把字符串转换为数组或者其他集合,方便快捷public static void main(String[] args) { String string = "jjggmloeajkdaslengdalegm"; int num1 = 0; int num2 = 0; for(int i = 0 ; i<string.length() ; i++...

2019-12-05 10:23:18 4963 1

转载 java写eclipse插件之java代码调用svnkit类库提交更新等方法

最近在做eclipse的插件开发代码的版本控制就是用的svn,找了一篇实用的文章,记录一下,也方便自己用本文转载自https://blog.csdn.net/yxf771hotmail/article/details/88311508import java.io.*; import org.tmatesoft.svn.core.SVNCommitInfo;import org.tmat...

2019-11-14 23:06:13 198

转载 oracle 怎样查询某用户下的所有表的表名

select * from all_tab_comments – 查询所有用户的表,视图等。select * from user_tab_comments – 查询本用户的表,视图等。select * from all_col_comments --查询所有用户的表的列名和注释。select * from user_col_comments – 查询本用户的表的列名和注释。select ...

2019-05-08 11:25:44 18828

原创 Map放入相同的key值

因为Map本身是不可以放相同的key的,但是如果我们想,也是有办法的。另外java也给我们提供了一个钻空子的方法,这就是JDK1.8的IdentityHashMap,也是Map的一个实现类HashMap比较key的值是用equals来比较的,所以只要key的值一样,就会被认为是同一个key。而IdentityHashMap是用==来比较key的存放地址,所以,只要我们重新new出来一个对象,就...

2019-04-19 17:05:06 6983

原创 java找出两个List中不同的值

List<String> list1 = new ArrayList<String>(){{add("a");add("b");add("c");add("d");}}; List<String> list2 = new ArrayList<String>(){{add("e");add("f");add("d");add("c");add(...

2019-04-01 14:59:29 7687

原创 java2019常见面试题200+,附带答案(自己写的)正在更新中,已经到125

java基础1.JDK 和 JRE 有什么区别?JDK是开发环境和运行环境一体的JRE是运行环境2.== 和 equals 的区别是什么?“==”:比较的是指向地址“equals”:比较的是具体的内容3.两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?不对,反过来是对的。就是说如果equals比价为true,hashcode()相同4.fina...

2019-03-29 20:58:11 1057

原创 java寻找字符串中出现次数最多的字符

import java.util.HashMap;import java.util.Map;public class StringSplit {public static void main(String[] args) { String str = "ganrwioqygsadiopfka43t09a543sdaf"; //将字符串转化为char数组,jdk自带的,非常好用 char...

2019-03-24 22:03:46 1111

原创 有50瓶饮料,喝完后每三个空瓶子可以换一瓶,问总共可以喝多少瓶饮料?用JAVA写一个程序

一个面试题里面的,按照自己的逻辑思维写,初入门的写法,也没有做什么优化,等自己成长成了大神在回头改改,改的简单点 public static void main(String[] args) { int y = 0;//可以换的 int z = 52;//初始空瓶数量 int m = 52;//初始喝过数量 int n = 0;//除去初始的50个,之后用过的 for(int...

2019-03-22 20:06:24 1906

原创 ORA-12541:TNS:no listener(无监听程序)

开启oracle的时候报错:ORA-12541:TNS:no listener意思就是没有开启监听器将红线框起来的2个服务启动就好了,2个都要启动,要不还会报其他错误。开启时候才想起来,当初下载oracle的时候基本没用过,为了节省电脑资源,自己手动关闭过,才会出现今天这个情况。至于网上好多帖子说要修改配置文件的,我还没遇到过,后面在说把...

2019-03-11 23:26:10 2323

原创 java抽象类和接口的个人理解

首先说下两者的不同(都是在java8和java8之后的版本而言)接口:接口的实现类必须全部实现或者重写,否则编译就不通过,除非接口有default这个词修饰(这个是java8的新特性)。抽象类:抽象类的子类必须继承抽象类的所有抽象方法和抽象属性,或者重写抽象类方法,否则编译就会报错。另外抽象类写的具体方法不是抽象方法,其子类可以不用实现或继承。再来说说两者的相同点都可以写或者不写方法的...

2019-03-10 22:38:58 84

原创 SSM中前后台传参的乱码问题

其实除了自己写Filter接口的实现类外,最简单粗暴的办法就是让框架给我们解决乱码。用springMVC的过滤器就好了在web.xml里面配置如下,列举网上的几种代码,**(重要的话说在前面,web.xml配置只能解决post请求,加粗显示)** &amp;lt;filter&amp;gt; &amp;lt;filter-name&amp;gt;encoding&amp;lt;/filter-name&amp;gt;...

2019-03-07 23:42:59 1251

原创 idea启动springboot加载jsp页面

首先,Controlle类里面的头部注解应该是@Controller而不是@ResstControllerimport org.springframework.stereotype.Controller;@Controllerpublic class QgGoodsController {==@Controller和@ResstController区别@Controller可以访问...

2019-03-02 18:00:26 1246

原创 进程和线程的区别(仅为记录个人成长)

举实例简单讲讲一个QQ账号就是一个进程,如果一个电脑开了多个QQ(或者开其他应用程序,比如爱奇艺,迅雷),登陆了多个QQ账号,就是多进程。线程属于进程下面的子类。一个QQ开了一个聊天窗口,就是一个线程,一个QQ开了2个或者2个以上的聊天窗口,就是多线程,cpu一次只会执行一个线程,就是如果打开了多个聊天窗口,也要一个一个聊,一个窗口发送完聊天内容,另一个窗口才能发。虽然叫多线程,但不是多个线...

2019-02-17 20:58:16 331

原创 java写杨辉三角(用二维数组,一维数组和不用数组)

面试的时候碰到过的一个简单的编程题目其实写杨辉三角最好的办法是用数组写,最直观的就是用二维数组写,不过面试官可能会不让用二位数组写(应该是考个人的逻辑思维能力,或者数学基础?具体就不好说了)进入正题如果不用数组的话,那么每一行的关联就不存在了,每一行都是新的开始,要真正用数学公式来算了,我自己也懒得去找其中规律(可能凭自己的数学功底找不到,反正我是没有算),百度到一个数学公式,套用在jav...

2019-02-17 16:27:39 1248 1

原创 浅谈HashMap(仅为记录个人成长)

HashMap是无序的,K和V进来的时候hash会计算出一个bocketindex的位置来存放新进来的成员,,如果没有得到已经存在的hash,就会放进一个新的位置,如果hash出来了一个以前存在的地方,就在同样的地方在开辟一个空间来放新成员,新来的会把老成员向后挤一个单元位置,然后用next指向老成员,不让他游离出这个HashMap。如果存放了null的Key,就会把这个Key放到HashMap...

2019-01-23 22:54:06 106

原创 String为什么是final的(仅为记录个人成长)

参考了网上其他几个大师的文章,自己总结了一下final:首先知道final是什么,作用又是什么。final是用来修饰类,方法,变量的。作用就词如其名了,最后的,那就意味着是不可更改的。String为什么是final的?String用来创建字符串的,平常的使用中String也是非常非常多的,java的编写者应该在创建时或者改进时,把String写死了。写死的原因2个,1:为了常量池,每...

2019-01-23 21:47:55 488

原创 ArrayList和LinkedList区别(仅为记录个人成长)

两者都为线性的数组,顾名思义,像线一样,又长又细,长度就是数组的个数,10个,1000个,100万个,宽度就是每个数组本身的大小。查找:ArrayList会有很多指针一起找需要的东西(个人理解)LinkedList只有2个指针,一个从头开始,一个从尾开始,如果需要的数据考前,就用头部开始的指针,反过来就用尾部开始的指针,实际只有一个指针去找。可以看出ArrayList在查的方面突出。增删...

2019-01-23 00:38:42 81

原创 浅谈Hashmap,Hashtable,Concurrenthashmap(仅为记录个人成长)

今天看了一些关于这个的文章,总结了一下相同点就不表了,都是为了存放&amp;amp;lt;K,V&amp;amp;gt;拿来用的,不同点我做了一个表格,这些也是我查阅源码和网上其他大神的文章总结了一下,还有一些其他的细节没有写,暂时也用不到,后面在慢慢发掘。网上还有人总结了一个例子,感觉很生动形象:HashMap:每个隔间都没锁门,有人想上厕所,管理员指给他一个隔间,里面没人的话正常用,里面有人的话把这个人赶出来然后用...

2019-01-22 23:52:07 74

原创 String,StringBuffer,StringBuilder的区别(仅为记录个人成长)

String,StringBuffer,StringBuilder的区别StringString s = &quot;abc&quot;;String x = &quot;de&quot;;String z = s+x;//此处的z在java里面存放的地址上是新new出来的空间,地址s+地址x=地址z,这段代码保函了3个地址,而不是2个··String被创建后是不能被改变的,只是又为新的String变量开辟了一个新地址用来存...

2019-01-21 23:11:59 198

原创 java内存泄漏和定位查找(仅为记录成长)

java内存泄漏的问题调查和定位java管理内存java有个有点就是有个自己的垃圾回收器(Garbage Collention , GC),GC时刻监视着那些被new出来的对象有没有被引用(这个也是拖慢javau运行速度的元凶“痛并快乐”),如果没有被引用就会被回收,开始引用了就从回收池里面拿出来(真的像一个勤劳贴心的保姆)。什么是java内存泄漏被分配的对象会有意无意的指向一个方法或者一...

2019-01-21 22:37:10 879

原创 跳过异常运行下面的代码

一行代码抛出异常,然而这个异常自己i知道,或者这个地方本来就要抛出异常,然而我们还是想继续执行下面的程序。最好的办法就是try,catch,catch住这个异常(要准确抓住异常),然后程序就可以继续执行下面的代码仅为记录自己学习的历程...

2019-01-21 15:04:43 412

原创 java.net.ConnectException: Connection refused: connect

根据提示信息连接被拒绝,意思就是没有连接上,可能没有开启数据库的服务器或者端口号密码什么的输入错误,我的是因为连接的redis,然而redis没有打开,打开之后就好了初学者记录成长过程...

2019-01-21 13:11:24 782 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除