![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java随手记
小叨奇迹
笑对bug
展开
-
判断S1中是否存在S2中的字符排列
这个题目拿到时产生了两个思路:1.思路一将s2的所有情况全部组合出来,然后逐个和S1进行indexOf比对2.思路二将S1和S2都拆成字符串数组,然后,不顾虑出现顺序,判断是否连续出现S2中的字符既可以(注意S2出现过的在连续判断的时候需要去除才能进行下一次判断)由于第一个思路要组合出所有结果,当时没有想到比较好的方法。(感觉可以通过遍历S2的字符数组,每个字符打头的形式进行组合实现比较麻烦就没多想)所以采用了第二种方式,写的比较糙,可以看一下,有兴趣的小伙伴可以优化一下,或者有更好的方法也可以在评原创 2022-06-29 16:48:38 · 274 阅读 · 1 评论 -
链表反转 及 个人理解思路(链表操作入门)
元素链不定长情况的遍历和步进的理解原创 2022-06-29 09:58:03 · 226 阅读 · 0 评论 -
使用java8中的CompletableFuture实现异步调用,异步单线程,存在先后关系处理
碰到一个问题,是关于任务处理比较耗时,但是任务之间由先后关系。做了以下方面的尝试。①建立全局线程池,1个核心线程,长度50的队列,最大线程数为1。用于控制先后。②使用CompletableFuture实现异步处理,减少用户的操作等待时间。//全局线程池import java.util.concurrent.LinkedBlockingQueue;import java.util.concurrent.ThreadPoolExecutor;import java.util.concurrent.T原创 2020-08-28 11:39:45 · 702 阅读 · 0 评论 -
Java设计模式之模板方法组合模式以及回调方法简述
模板方法模式很常用,其目的是在一个方法中定义一个算法骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法的某些步骤。在标准的模板方法模式实现中,主要是使用继承的方式,来让父类在运行期间可以调用到子类的方法,实际也是多态的体现,如抽象类的内容此外引入回调方法CallBack:回调技术。回调是一种双向的调用模式,也就是说,被调用的接口被调用时也会调用对方的接口,简单点说明就是:A类中调用B类中的C方法,然后B类中的C方法中反过来调用A类中的..原创 2020-05-14 11:49:00 · 212 阅读 · 0 评论 -
Java中字符串变量的(+)拼接和字符串常量的(+)拼接的区别,==在String类的特殊使用点
public class TestStringVariableAndConstants { public static void main(String[] args) { String a = "abc"; String b = "ab"; String c = "c"; String q = b+c; String z = b+"c"; System.o...原创 2020-03-23 16:14:07 · 2681 阅读 · 0 评论 -
Java中常见的String字符串比较问题
public class TestStringAddress { public static void main(String[] args) { //1常量池 String a = "abc"; String b = new String("def"); String c = "abc"; String d = b.intern(); String e = "de...原创 2020-03-23 15:15:15 · 539 阅读 · 1 评论 -
Java关于包装类Integer和Char类的在自动装箱时的缓存处理代码说明
public class TestIntegerCache { public static void main(String[] args) { Integer int1 = -128; Integer int2 = -128; System.out.println(int1 == int2);//true两者都在缓存范围,同一个对象地址 System.out.printl...原创 2020-03-23 13:58:14 · 201 阅读 · 0 评论 -
java数组元素对称调换
package com.it.homework;import java.util.Arrays;public class TestEleChangePosition { public static void main(String[] args) { int[] arr = {0,1,2,3,4,5,6,7,8,9}; System.out.println(Arrays.to...原创 2020-03-22 17:49:26 · 712 阅读 · 0 评论 -
Java查找随机生成的50个整数中大于等于60的数的个数(二分法方式)
package com.it.homework;import java.util.Arrays;public class TestCount { public static void main(String[] args) { int[] numlist = new int[50]; for (int i = 0; i < numlist.length; i++)...原创 2020-03-22 17:39:52 · 502 阅读 · 0 评论 -
Java二分法查找测试
public class TestBinarySerach { public static void main(String[] args) { int[] arr = {7, 8, 9, 10, 12, 20, 30, 40, 50, 80, 100}; System.out.println(binarySearch(arr,10)); System.out.println(bin...原创 2020-03-22 17:00:47 · 225 阅读 · 0 评论 -
Java数列普通排序,基本冒泡排序,优化冒泡排序的区分和测试
import java.util.Arrays;public class TestBubbleSort { public static void main(String[] args) { int[] array = { 3, 1, 6, 2, 9, 0, 7, 4, 5, 8 };//普通排序45次比对 NotbubbleSort(array); System.out.print...原创 2020-03-22 16:41:31 · 107 阅读 · 0 评论 -
Java自定义异常,抛出异常信息,通过异常提示,再继续进行输入成绩
package com.it.homework;import java.util.Scanner;public class TestInputPoints { static Scanner scan = new Scanner(System.in); public static void main(String[] args) { System.out.println("请先输入需要录...原创 2020-03-22 14:28:38 · 1166 阅读 · 0 评论 -
Java中外部类的子类会继承外部类的成员内部类,成员内部类的简单说明
package com.it.study;public class TestMemberInnerClass { public static void main(String[] args) { Outer.UnstaticInnerClass varName = new Outer().new UnstaticInnerClass(); varName.show(); Oute...原创 2020-03-15 12:32:38 · 446 阅读 · 0 评论 -
Java学习_基础入门篇知识问题整理
java的核心优势:跨平台,由于提供不同系统的jvm可以让javaapp通过jvm面对不同的操作系统java各个版本的含义:javaSE:JAVA STANDARD Edition:标准版:定位个人计算机,java平台的核心,提供丰富的API包含AWT及Swing,此外Applet被FLASH、HTML5取代;必学javaEE:JAVA ENTERPRISE EDITION: 企业版,定...原创 2020-03-15 09:44:56 · 183 阅读 · 0 评论 -
关于java的equals和==简要区分
1.==比较双方是否相同,a.当比较的对象为基础类型时,如果值相等,则返回true,否则为false;b.当比较的对象为引用类型时,比较的是引用类型的(对象的)地址,如果两个地址相同(即为同一个对象)则返回true,否则为false;2.equals比较双方是否相同,a.首先,equals方法在Object基类中已经定义并实现,其比较的是连个对象d的hashcode(指向的地址)是否相同,...原创 2019-11-12 16:20:56 · 142 阅读 · 0 评论 -
关于java的对象作为参数传递(地址的拷贝值)
package com.company.fourthchapter;public class TestParameterPassing { int id; String name; public TestParameterPassing(int id, String name) { this.id = id; this.name = name; }; public ...原创 2019-11-11 20:14:32 · 336 阅读 · 0 评论 -
关于java的static静态代码块、静态成员变量和对象初始化先后问题
静态成员变量的初始化早于静态代码块;静态代码块是指的类的初始化操作,初始化早于对象的创建;package com.company.fourthchapter;public class TestStaticInitBlock { int id; String name; String pwd; static String company="原始...原创 2019-11-11 19:59:34 · 644 阅读 · 1 评论 -
关于JSONNull的转换异常问题(JSONNull can not cast to be String)
关于JSONNull的转换异常问题最近碰到一个小问题,关于json类型数据取出判断其值是否为空时,出现了转换异常。代码如下:JSONObject testJson = new JSONObject();testJson.put("A","null");testJson.put("B","hello");Map testMap = (Map) testJson;System.out.p...原创 2018-12-25 10:18:06 · 5919 阅读 · 0 评论 -
javaWeb中如何防止两个人同时操作同一条记录(限制单人操作),使用redis的解决方式
最近在做demo的时候,碰到这么一个问题:当页面上同一角色有两个人登录的时候,他们同时操作统一条记录; 简言之就是,同一记录同一时刻多人操作。这种情况在我的业务中回导致数据的冗余,干扰正常的程序运行。当时想到的解决办是锁表或者使用缓存(当然其他的方式可以在下方留言探讨~),锁表没有尝试过所以自然就想到了缓存。实现思路是,当页面端用户选中记录并且进行操作的时候,在服务端先不进行业务处理,而是...原创 2019-04-17 13:32:38 · 7743 阅读 · 3 评论 -
java中的递归结构
递归和循环的一些思考递归结构:递归体+递归头,递归也是循环的一种,不同的是每次循环的结果作为下一次循环的基础数据使用。核心思维是“自己调用自己”,我个人目前理解为,java中方法的自调用并设定调用结束点(递归头)。递归头:相当于while循环判断条件的布尔表达式,用于终止循环递归体:具体的计算方式或者说语句处理方式eg:1+2+。。+100的和 ``` //用循环的方式为:1到...原创 2019-05-31 13:59:19 · 2085 阅读 · 0 评论 -
java 随机生成六位数的密码 (000001-999999)
//java 随机生成六位数的密码 (000001-999999)public class MakeSixNums{ public static void main(String[] args) { while(1==1){ Integer randNum = (int)(Math.random()* (999999)+1);//产生(0,999999]之间的随机数 ...原创 2019-07-16 09:49:45 · 4015 阅读 · 0 评论 -
输出List<String>的内容,重写toString方法
import java.util.ArrayList;import java.util.List;public class ListToString { public static void main(String[] args) { List<String> hello = new ArrayList(); hello.add("adsfasd"); he...原创 2019-07-18 15:36:27 · 3722 阅读 · 0 评论 -
JAVA比较两个数组中是否存在相同元素,并且取出相同元素(以两个String[]数组为例)
/** * 比较两个字符串数组的是否存在相同内容,并对相同内容以数组形式返回 * @param orgnElecAreaIdArr * @param chekElecAreaIdArr * @return */ private String[] compareTwoArraySame(String[] arr1, String[] arr...原创 2019-07-29 14:13:04 · 3321 阅读 · 0 评论 -
java中String空字符串与null的比较
String obj = null;将null赋值给obj则obj为没有具体指向的对象,比较方法:obj == null,会返回trueisEmpty,equals,length均为NullPointerExceptionString obj2 = "";空字符串赋值给obj2比较方法:obj2=="",返回true,或者obj2.isEmpty(),返回true或...原创 2018-11-28 09:55:32 · 6156 阅读 · 0 评论