自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 iOS15模态视图下拉返回导致程序崩溃

iOS15模态视图下拉返回导致程序崩溃问题解决方法问题iOS15模态视图下拉返回之后迅速右滑(调用系统自带的侧滑返回) 程序会卡死这个问题目前只在iOS15上有发现查看被卡死的视图可以发现在controller上面多了一层透明的UIParallaxDimmingView(这是self.view的父视图),不太清楚为什么它没有被销毁。解决方法1、可以直接禁用模态视图的下拉返回功能self.modalInPresentation = YES;这个方法不太好,推荐用第二种2、使用模态视图的时

2022-01-05 17:24:42 873 1

原创 不使用第三个数交换两个数的值

int a=13;int b=23;a=b-a;b=b-a;a=a+b;int x=10; // 1010int y=5;// y= 0101x=x^y; // x= 1111 =15y=y^x;// y= 1010 =10x=x^y;// x= 0101 =5

2021-04-08 08:13:49 73

原创 #{}和${}区别

使用 ${} 相当于使用字符串拼接,存在 SQL 注入的风险。使用 #{} 相当于使用占位符,可以防止 SQL 注入,不支持使用占位符的地方就只能使用 ${} ,典型情况就是动态参数。

2021-04-06 00:28:27 77

原创 MySql模糊查询

模糊查询like1,% :表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。比如 SELECT * FROM [user] WHERE u_name LIKE ‘%三%’将会把u_name为“张三”,“张猫三”、“三脚猫”,“唐三藏”等等有“三”的记录全找出来。另外,如果需要找出u_name中既有“三”又有“猫”的记录,请使用and条件SELECT * FROM [user] WHERE u_name LIKE ‘%三%’ AND u_name

2021-04-06 00:10:36 89

原创 链表反转

public static class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }public ListNode ReverseList(ListNode head) { ListNode p1=null; ListNode p2=nu

2020-11-19 22:55:36 37

转载 判断单链表有环

添加链接描述

2020-10-09 14:08:06 46

原创 文件上传

public static void main(String[] args) throws IOException { BufferedWriter bw=new BufferedWriter(new FileWriter("/home/sundi/桌面/lll.txt")); bw.write("沟"+"\n"); bw.write("猫"+"\n"); bw.write("老鼠"+"\n"); bw.close();

2020-09-09 16:13:58 41

原创 打印年月日

public static void main(String[] args) { LocalDateTime dt = LocalDateTime.now(); System.out.print(dt.getYear()+"年"); System.out.print(dt.getMonthValue()+"月"); System.out.println(dt.getDayOfMonth()+"日"); System.out.p

2020-09-09 14:36:48 115

原创 Java实现归并排序

把长度为n的输入序列分成两个长度为n/2的子序列;对这两个子序列分别采用归并排序;将两个排序好的子序列合并成一个最终的排序序列。public class Main { public static void main(String[] args) { int[] a = {12, 5, 8, 96, 54, 32, 14, 57, 2, 1, 4}; System.out.println(Arrays.toString( sort(a))); }

2020-08-12 15:34:59 56

原创 break与continue的区别

break表示结束循环体,不再执行接下来的循环语句 for (int i=0;i<10;i++){ if(i<3){ System.out.print(i); break; }else { System.out.print(i); } } //0continue表示结束本次循环,仍会执行接下来的循环语句for (int

2020-08-02 18:27:42 71

原创 Integer.MAX_VALUE

Integer.MAX_VALUE表示int的最大值int max=Integer.MAX_VALUE;//2147483647Integer.MIN_VALUE表示int的最小值int min=Integer.MIN_VALUE;//-2147483648

2020-08-02 18:18:15 254

原创 创建线程的四种方式

1.继承 Thread 类并重写 run 方法。实现简单,但不符合里氏替换原则,不可以继承其他类。2.实现 Runnable 接口并重写 run 方法。避免了单继承局限性,编程更加灵活,实现解耦。3.实现 Callable接口 和 Future,并重写 call 方法,创建线程。可以获取线程执行结果的返回值,并且可以抛出异常。4、使用线程池创建线程 例如用Executor框架//第一种Thread thread=new Thread();thread.start();//第二种Thre

2020-08-01 10:56:00 322

原创 EL、JSTL、OGNL表达式

EL表达式 ${}表达式就是变量加符号得到最终结果只能得到值,不能做逻辑表达主要目的是为了得到一个值,至于从哪里得到,不是重点,可以放在jsp里任何一个标签里,但是不能放在JSP小脚本里,在EL表达式中 {} 里一定得出一个值 。EL表达式获取内容的过程 如:${3>4} 获得的值结果为false ${"aa"} 获得字符串aa ${list[1].username}EL表达式,是可以获得很多位置上的内容的,但是我们要注意一些点:EL表达式获取数据的顺序

2020-07-27 22:51:43 126

原创 JSP

jsp工作原理简述:当请求的时候,网络容器会将jsp解析,每读到一行就用resp.println打出去,这个时候一个jsp就i相等于一个servlet(这个servlet是网络容器写的),网络容器打包发布项目的时候,就会将 jsp发布成一个类,里面所有的东西都会变成Java代码,然后通过servlet实例中的jspService方法,把内容返回。一句话总结:Java里面写html。jsp:是动态页面。JSP小脚本在这里面<% %>写就是告诉解析器我这里面的是Java代码<%=

2020-07-27 22:46:56 79 1

原创 AJAX请求

AJAX请求AJAX是异步的javascript和XML;Form表单是一个同步的过程,当form表单提交的时候,页面是一定要切换的,同时,页面当中正在执行的某些个动作会立刻停止;当发送的请求是异步的时候,他不会影响当前界面的跳转过程。页面可以保留在当前过程,AJAX请求发出去以后,等待后台给一个返回,拿到了返回,才决定是修改当前页面内容还是页面跳转等,如果返回的内容没有说进行页面跳转,就还留在当前页面,就继续干页面当前正在做的事情,它不需要等待这个请求执行完,再去执行其他的过程。现在AJAX基本

2020-07-27 22:41:50 80

原创 JS

jQuery简单介绍jQuery 是一个高效、精简并且功能丰富的 JavaScript 工具库。它提供的 API 易于使用且兼容众多浏览器,这让诸如 HTML 文档遍历和操作、事件处理、动画和 Ajax 操作更加简单。导入jQuery插件。在html页面关联jQuery<script type="text/javascript" src="js/jquery-3.4.js"></script>创建一个对象JS中的基本操作JS是一个弱类型语言,我们只需要定义变量,然后给

2020-07-25 15:35:20 72

原创 几种常用排序1

插入排序import java.util.Arrays;//插入排序public class Main { public static void main(String[] args){ int[] a={14,65,17,25,36,12,21,13,23,41}; int temp; for(int i=1;i<a.length;i++){ while (i>0 && a[i]<a[i

2020-07-24 08:54:55 112

原创 Ubuntu安装Redis

Ubuntu 系统安装 Redi :1.打开终端;2.sudo su3.输入密码4.apt-get update5.apt-get install redis-server启动redis:redis-server查看redis是否启动:ps aux|grep redis连接Redis:redis-cli当输出为:127.0.0.1:6379> 时,redis已经安装成功。Redis默认端口号:6379...

2020-07-22 09:31:09 73

原创 Cookie和Session

Cookie:(小饼干,HTTP定义的一种由客户端(浏览器)保存临时数据的形式)(小饼干处理内容的过程有两种,一种是后台(JAVA),一种是前端(JS))Cookie保存内容的形式是K-V对,一般是用K=V,K=V形式来保存内容的。每次浏览器发出请求的时候,都会将自己的Cookie发送给后台,有多少,发多少。后台如果想要设置让前端保存什么内容的话,会通过Set-Cookie头来通知前端保存内容cookie.setDomain("qq.com"); //设置域名cookie.setPath("/

2020-07-21 10:12:50 57

原创 锁:synchronized和 lock比较

(1)synchronized 同步,拥有共同数据区,且只有一个共同数据区(2)lock 在concurrent包里面两者区别:synchronizedlockjava的关键字,在jvm层面类线程执行发生异常,jvm会让线程释放锁在finally中必须释放锁,不然容易造成线程死锁––假设A线程获得锁,B线程等待。如果A线程阻塞,B线程 会一直等待可以尝试获得锁线程可以不用一直等待可重入 不可中断 非公平可重入 可判断 可公平––少量

2020-07-21 10:06:19 45

原创 进程、线程

线程​ 线程:(Thread)是计算机执行计划任务的最小单元,计算机执行的每一次任务,我们称为作业(JOB),一个线程可以包含多个作业​ JOB1 JOB2 JOB3…JOB10进程​ 进程:很多线程的集合,操作系统对于应用程序的管理工具,也就是一个进程里面有很多线程,线程的名字我们可以自己给出,但是进程必须是由操作系统,给出一个独有的进程号,这个有进程号的进程就是一系列进程任务的容器。​ 先启动一个进程,再线程,控制其他线程的为主线程(main)不可能单独启动,进程名不可以自己定义,

2020-07-21 09:58:04 44

原创 网络:TCP、UDP比较

TCP特点优点1.TCP传输数据,是需要建立一个有效链接的。也就是说,我们使用TCP传输数据的第一件使其能够,是建立一个数据通道的2.TCP对于有效连接是有实时感知的,也就是说,TCP的连接中断时,另一方是由能力立刻得知的3.TCP传输的数据是安全的,是有效的,是有序的缺点1.TCP占用资源更多2.TCP的有序性,一定程度下会拖慢应用层程序的运行目前市面上见到的很多im(即时通信)软件很多都不采用TCP,而是采用UDP来实现UDP优点1.UDP叫用户报文协议2.UDP是面向数据包的的

2020-07-21 09:52:41 111

原创 网络:TCP

传输方式:协议:TCP (传输控制协议)、UDP(用户报文协议)网络四元组:本机IP,对方IP,本机端口,对方端口TCP1.TCP协议属于传输层协议,而我们写代码一般是直接使用封装好的tcp工具或者应用层协议来驱动传输层工作如果我们想在JAVA语言中,驱动TCP协议来传输数据,那么我们可以使用JAVA封装好的工具Socket(套接字)编程实现JAVA给出的TCP套接字就是Socket,需要分清楚服务器和客户端的不同,服务器端使用的是ServerSocket,客户端使用的是Socket。####

2020-07-21 09:50:19 61

原创 向前端返回数据有三种方式

向前端返回数据有三种方式第一种:直接返回一个数据字符串PrintWriter pw=resp.getWriter();pw.println("你好");pw.flush();第二种:重定向 resp.sendError(500,"不给你服务");resp.sendRedirect("hello.html");第三种:转发`req.getRequestDispatcher("he...

2020-03-27 18:00:58 1450 1

原创 HTML

HTML:超文本标记语言,一般只要以ML结尾的东西,都叫做标记语言如:XML,HTML这样的东西,其实和.txt没有任何本质区别,只不过不管是XML,HTML,都加入了对于格式的要求,而这个格式,是给能解释这个格式的解释器看的, 如果你不遵守这个格式,其实也无所谓但是你要是遵守这个格式,你就能得到更好的展示样式存储读取的速度和数据管理优势HTML的简单使用方法 一组标签 单标签 没...

2020-03-22 11:09:00 40

原创 寒假第一天 流

流流:数据交互的通道,因为在我们的计算机中,所有的内容都是通过流来传递的RTMP流分为输出流、输入流、字节流、字符流输入字节流InputStream输入字符流Reader输出字节流OutStream输出字符流Write例子:InputStream is=null;OutputStream os=null;try { is=new FileInputStr...

2020-02-13 21:07:11 58

原创 类型转换、哈希

一、类型转换小类往大类转换没有风险,大类往小类转换有风险二、instanceofinstanceof表示一个对象是否属于一个类if(usb instanceof USBImpl){ System.out.println((USBImpl)usb); //可以进行类型转换}三、objectobject(对象)是Java里面任何一个类的父类obje...

2019-11-28 22:31:53 225

原创 接口

一、接口的定义接口(interface):是约定的一种规范。一个接口就是一个文件。接口只关心有没有这个方法 ,不关心这个方法如何实现,接口里面没有构造方法。 类继承,接口实现 类和类之间是继承的关系 类和接口之间是实现的关系 接口和接口之间是继承的关系接口一定以大写的I开头+类名 public interface IUsb { ...

2019-11-27 23:45:21 89

原创 内部类、重载

一、内部类内部类的方法和属性都可以被包含它的外部类调用public static class InnerrClass{private int f=3;private void test(){f=6;}}​public void foo(){InnerrClass innerrClass=new InnerrClass();innerrClass.f=4;innerrCl...

2019-11-27 19:52:06 139

原创 数组

DAY2对于容器操作,一般我们分为三种操作类型1、定位2、替换3、求长目前我们看到的是数组,数组的定位,替换求长分别是://数组的定位int item = arrays[4];int item2= array[6];int item3= array[-1];//数组的替换arrays[3]=100;//数组的求长int length= arrays.length;int...

2019-11-22 14:04:21 53

原创 for while 循环语句

//已知循环次数用for循环;不知道循环次数用while.//while示例public class Test{public static void main(String[] args){int a=100;int b=4;while(a>b){System.out.println(a);a–;}}}//构建树public class Test1{public ...

2019-11-22 14:03:43 94

空空如也

空空如也

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

TA关注的人

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