自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一个字符串去除另一字符串中的所有字符,并输出

标题:一个字符串去除另一字符串中的所有字符并输出输入:String:“welcome to xian”String:“come”输出:“wel to xian”public class TestDemo5 { public static String up(String str1,String str2){ StringBuffer sb = new StringBuffer(); for (int i = 0; i < str1.length

2021-09-17 18:13:33 770

原创 当输入一个URL会发生什么

当输入URL会发生什么:浏览器先会检查URL的有效性查看浏览器自己的本地缓存,如果有就不用访问服务器端用DNS服务器查看IPHTTP协议基于TCP,三次握手建立连接客户端将所有的参数发给服务器端服务器端进行service操作,处理业务,查看数据库服务器端将信息返回给客户端浏览器自己解析返回信息...

2021-09-11 19:36:44 188

原创 JAVA-JUC包下的常见类

JUC包下的常见类:1.ReenTrantLock(可重入锁):java.util.concurrent.lock 中的 Lock 框架是锁定的一个抽象,它允许把锁定的实现作为 Java 类,而不是作为语言的特性来实现。这就为 Lock 的多种实现留下了空间,各种实现可能有不同的调度算法、性能特性或者锁定语义。ReentrantLock 类实现了 Lock ,它拥有与 synchronized相同的并发性和内存语义,但是添加了类似锁投票、定时锁等候和可中断锁等候的一些特性。此外,它还提供了在激烈争用

2021-09-09 20:15:58 565 1

原创 Java中wait和sleep的区别

wait和sleep的区别:1. wait的使用必须配合锁使用,sleep则不用2. wait会释放锁,sleep不会释放锁3. wait之后线程进入WAITING,sleep进入TIMED_WAITING4. wait可以被注定唤醒,sleep只能等待时间结束5. wait是object方法,sleep是thread方法...

2021-09-07 18:34:56 470

原创 生产者消费者问题-阻塞队列

生产者消费者问题-阻塞队列:1. 问题:生产者消费者问题(Producer-consumer problem),也称有限缓冲问题(Bounded-buffer> problem),是一个多线程同步问题的经典案例。生产者生成一定量的数据放到缓冲区中,然后重复此过程;与此同时,消费者也在缓冲区消耗这些数据。生产者和消费者之间必须保持同步,要保证生产者不会在缓冲区满时放入数据,消费者也不会在缓冲区空时消耗数据。不够完善的解决方法容易出现死锁的情况,此时进程都在等待唤醒。## 2. 解决思路:

2021-09-07 10:29:28 313

原创 ThreadLocal原理

深入浅出 ThreadLocal 面试问题:1. ThreadLocal的实现原理是什么2.如何使用ThreadLocal?3.ThreadLocal是用来解决什么问题的?概述:ThreadLocal是线程局部变量,每个线程都持有一个这样的副本,每个副本可以独立操作get(),set(), remove() ,并且与其他线程隔离。问题一:ThreadLocal的实现原理是什么:Thead->ThreadLoaclMap->Entry[]->key(ThreadLoc

2021-09-06 16:45:42 211

原创 ThreadPoolExecutor(线程池)的执行流程及其5种拒绝策略

ThreadPoolExecutor(线程池)的执行流程:5种拒绝策略:AbortPolicy:系统默认的拒绝拒绝策略,不执行抛出异常CallerRunsPolicy:把当前任务交给主线程来执行DiscardOldPolicy:舍弃最老的任务,也就是刚开始的任务DiscardPolicy:舍弃最新的任务RejectExecutionHandler :舍弃最新对的任务。可以将其写入日志...

2021-09-04 17:12:43 320 2

原创 单个线程池相对于单个线程的优势

单个线程池相对于单个线程的优势:避免反复的创建和消耗线程从而导致系统资源的浪费线程池有任务队列,可以存放多余的任务当有大量的任务不能处理时,可以拒绝任务线程池可以更好的管理任务...

2021-09-03 13:23:46 395

原创 锁升级原理

锁升级:JDK1.6之前 重量级锁:用户态->内核态 (消耗太多性能)JDK1.6之后更改无锁 -> 偏向锁 -> 轻量级锁 -> 重量级锁当第一个线程第一次访问时 将线程ID放入对象头当多个线程一起竞争 自旋竞争失败进入阻塞队列 等待线程唤醒

2021-09-02 16:10:49 150

原创 synchronized和Lock的区别详解

synchronized和Lock的区别:synchronized自助实现加锁和释放锁,Lock则需要手动实现synchronized锁的实现在JVM层依赖minitor监控锁,Lock实现是在JAVA层面synchronized能用于代码块,静态方法,和普通方法,Lock只能用于代码块synchronized锁的模式只有非公平锁,Lock两个都有.Lock的灵活性更高trylock(),粒度更细...

2021-09-02 16:05:05 176

原创 两个线程实现AABBCCDD

每个线程只能能输出ABCD,试用连个线程实现AABBCCDD试用公平锁来实现每个字符的输出Lockpublic class TestDemo1 { public static void main(String[] args) { Lock lock = new ReentrantLock(true); Runnable runnable = new Runnable() { @Override public v

2021-09-02 15:59:45 288

原创 字符串转化整数

题目描述将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0输入描述:输入一个字符串,包括数字字母符号,可以为空输出描述:如果是合法的数值表达则返回该数字,否则返回0示例输入 “+2147483647”输出 2147483647 示例2输入 “1a33”输出 0实现思路:‘+’和‘-’的处理非空效验如何将字符串转化成整数输出 sum*10来输出每个整数实现代码:class Base {

2021-04-20 01:28:15 165

原创 不要二

题目描述二货小易有一个W*H的网格盒子,网格的行编号为0H-1,网格的列编号为0W-1。每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。对于两个格子坐标(x1,y1),(x2,y2)的欧几里得距离为:((x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) ) 的算术平方根。小易想知道最多可以放多少块蛋糕在网格盒子里。输入描述:每组数组包含网格长宽W,H,用空格分割.(1 ≤ W、H ≤ 1000)输出描述:输出一个最多可以放的蛋糕数示例1

2021-04-20 01:18:19 123

原创 UDP-Socket编程实现-Java

UDP:UDP协议端格式16位UDP长度, 表示整个数据报(UDP首部+UDP数据)的最大长度;如果校验和出错, 就会直接丢弃;UDP的特点:无连接: 知道对端的IP和端口号就直接进行传输, 不需要建立连接; 不可靠: 没有确认机制, 没有重传机制;如果因为网络故障该段无法发到对方, UDP协议层也不 会给应用层返回任何错误信息;面向数据报: 不能够灵活的控制Socket实现:Client:`import java.io.IOException;import ja

2021-04-17 10:30:30 123

原创 【Java练习】统计回文

回文解释:回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。花花非常喜欢这种拥有对称美的回文串,生日的时候她得到两个礼物分别是字符串A和字符串B。现在她非常好奇有没有办法将字符串B插入字符串A使产生的字符串是一个回文串。你接受花花的请求,帮助她寻找有多少种插入办法可以使新串是一个回文串。如果字符串B插入的位置不同就考虑为不一样的办法。例如: A = “aba”,B = “b”。这里有4种把B插入A的办法:在A的第一个字母之前: “baba” 不是回文在第一个

2021-04-17 01:06:54 182

原创 【Java练习】求连续最大和(动态规划)

连续最大和:题目要求:一个数组有 N 个元素,求连续子数组的最大和。 例如:[-1,2,1],和最大的连续子数组为[2,1],其和为 3输入描述:输入为两行。 第一行一个整数n(1 <= n <= 100000),表示一共有n个元素第二行为n个数,即每个元素,每个整数都在32位int范围内。以空格分隔。输出描述:所有连续子数组中和最大的值。输入 3 -1 2 1 输出 3实现思路:初始化:max,cur迭代条件:cur = Math.max(cur[i]+cu

2021-04-17 00:57:49 337 4

原创 进制转换

题目描述给定一个十进制数M,以及需要转换的进制数N。将十进制数M转化为N进制数 示例 7,2 输出 “111” 提示:M是32位整数,2<=N<=16.问题分析负数应该怎么转换十进制以上怎么转换怎么保存余数如果M是负数,先将M转成正数,最后计算出的结果前面加上负号2进制用0,1表示;8进制由0-7表示;10进制是0-9表示,十六进制由“0123456789ABCDEF”表示进制转换我们知道就是将M对N进行取余,得到的结果就是低位的值,之后M=M/N

2021-04-15 18:38:31 164

原创 静态代码块,实例代码块,构造方法之间调用的先后顺序

1.静态代码块会在类加载的初始化阶段执行,而且只执行一次。2. 如果继承父类,则会先执行父类中的静态代码块,然后再执行子类中的静态代码块;3. 实例对象时,会先执行父类中的非静态代码块,父类中的构造方法,然后再执行子类中的非静态代码块,子类中的构造方法!4.特别注意:静态代码块只在类加载之前调用,且只调用一次...

2021-04-15 00:19:17 235

原创 ArrayLists和LinkedList详细对比

ArrayLists和LinkedList的区别ArrayLists和LinkedList都继承并且实现了List接口LinkedList底层是链表数据结构,ArrayLists底层是动态数组数据结构对于增删操作,LinkedList性能更高,ArrayLists需要移动数据对于具体的查找和替换,ArraysLists性能更高,LinkedList需要移动指针ArrayLists的空间容量默认为10,LinkedList的空间容量会自动扩展...

2021-04-13 20:39:50 244

原创 MySQL面试题

MySQL面试题:有一张员工表emp,字段:姓名name,性别sex,部门depart,工资salary。查询以下数据:1、查询男女员工的平均工资2、查询各部门的总薪水3、查询总薪水排名第二的部门``4、查询姓名重复的员工信息5、查询各部门薪水大于10000的男性员工的平均薪水--1、查询男女员工的平均工资select sex ,avg(salary) from emp group by sex;--先按照男女分组,然后求平均--2、查询各部门的总薪水select depart

2021-04-07 16:42:45 822 2

原创 双向链表删除链表种第一次出现的key值

实现思路:遍历整个双向链表将key=head,key=middle,key=last 分为这三种分别用if来判断,当任何一个if结束,return.实现代码:

2021-03-30 22:04:13 121

原创 双向链表

实现思路:在单向链表的基础上,增加了前置节点,每个节点有三个域,这样一来,链表可以双向遍历.实现代码:

2021-03-30 21:55:23 112 2

原创 判断链表是否有环,有则返回环的节点

实现思路:定义快慢指针fast和slow,fast走两步,slow走一步如果fast等于slow则有环如果有环,则让slow等于head,fast和head同时遍历,当两个相遇时,即为环的节点实现代码:

2021-03-29 23:49:51 121

原创 判断两个链表是否相交,返回相交节点

实现思路:首先分别求出两个链表的长度让长的链表先走len=lenA-lenB步然后两个链表从头在开始遍历,直到相等时,即为相交点实现代码:

2021-03-29 23:34:53 136

原创 链表的回文结构

实现思路:返回链表的中间节点从中间节点开始进行逆置让头节点和尾节点开始遍历如果值不相等则不为回文结构当相遇时即为回文结构实现代码:

2021-03-29 21:11:46 105

原创 HTTP响应头常用状态码解释

状态码的类型:2xx常见的状态码:表示正常接收3xx常见的状态码:重定向301和302的区别就是收录的权重不同301收录的权重高302收录的权重低4xx常见状态码:403显示权限不够,无法访问401需要账号密码访问404无法找到页面5xx常见状态码:500服务器没能找到相应的值或者方法.502上端服务器未能响应504本地网络问题...

2021-03-28 21:51:25 113

原创 删除链表中第一次出现key的节点

实现思路:删除节点需要先找到此节点的前去节点,然后在进行删除.实现代码:

2021-03-28 21:30:09 170

原创 求链表倒数第N项(要求只遍历一次)

实现思路;需要先判断N的存在,如果N不存在,就结束.若存在,就定义fast和slow让fast先走N-1步,且每走一步判断是否fast.next为空,为空就结束,然后让fast和slow每次走一步,直到fas.next为空,结束,此时slow就为倒数N个节点实现代码:...

2021-03-28 21:20:20 403

原创 删除链表中所有的N

实现思路:删除需要尾插法,所有,定义prev等于头节点,cur等于cur.next;判断cur.val是否为N,如果是尾插法,不是就继续便遍历.最后在判断头节点是否为N即可实现代码:

2021-03-28 21:08:20 161

原创 删除链表重复节点

实现思路:使用傀儡节点,将不重复的节点,全部链接在傀儡节点,并返回.实现代码:

2021-03-28 20:59:55 120

原创 链表分割

实现思路:可以设置4个空值,分为 BS BE AS AE,让两个链表中大于N的节点放在右边的区域,让小于N的节点,放在左边的区域,最后让两个区域相连接即可.实现代码:总结;在最后需要判断1.前面的区域是否为空,如果为空,返回后面的AS,2.后面的区域是否不为空,如果不为空,令AE…NEXT=NULL,不然会形成环,导致死循环....

2021-03-28 20:47:23 148

原创 将两个有序链表合并为一个新的有序链表并返回,新链表是通过拼接给定的两个链表的所有节点组成的(headA,headB)

实现思路:首先,我们需要一个傀儡节点来作为新的newHead,和一个临时存放地址的tmp(指向newHead)然后实现(headA,headB!=nnull)循环遍历整个链表,分别通过比较两个有序链表的headA,headB,为小的,就将其尾插在tmp,然后tmp=tmp.next.继续进行遍历.最终返回newHead.实现代码:**总结:**当两个有序链表任意一个为空时,就跳出大的循环,让tmp.next = headA或者headB...

2021-03-27 14:34:28 191

原创 查找链表的中间值节点,并返回值的大小

实现思路:设置一个LOW,一个FASTFAST:一次走两个节点 --FAST = FAST.NEXT.NEXTLOW:一次走一个节点–LOW ==LOW.NEXT当FAST走完链表时,LOW所对应的节点就是MIDDLE节点实现难点:如何判断循环结束为了防止空指针异常,应该让奇数偶数的循环条件进行逻辑与运算且FSAT!=NULL 应该为前,且顺序不能改变实现代码:...

2021-03-26 18:57:17 147

原创 reserveList-反转链表

实现思路:利用prev(刚开始置为null),cur(刚开始置为head),curnext(刚开始置为cur.next),每次进行cur.next和prev来实现反转,prev和cur.n来实现链表的遍历,最终实现链表的反转.实现代码:

2021-03-26 00:36:57 530

原创 MyLinkedList-单链表

实现功能:头插法,尾插法,查找元素,任意位置插入,删除某一个,删除所有出现key的节点,clear()…等功能实现代码:

2021-03-25 23:52:19 133

原创 MyArrayList-顺序表

1.

2021-03-24 11:22:08 134

原创 HTML+CSS+JS实现简单的登录网页界面(未连接数据库)

实现思路:使用HTML和CSS来实现基础页面,利用jQuery来实现登录和清空实现结果:实现代码:总结:代码中使用多个div将内容包裹起来,简单方便的操作:可以使用一个div即可.

2021-03-23 17:37:47 1064

原创 HTML+CSS+JS来实现简单的数字计算网页

实现思路:使用HTML和CSS来实现基础页面,利用jQuery来实现内容计算的运行实现功能:实现两个数的输入,以及加减乘以及清空.实现效果:实现代码:总结:利用Script来写JS是,可以使用原生的写法,也可以使用jQuery来实现各种的兼容....

2021-03-23 16:26:22 559

原创 HTML制作简单的个人简历网页

实现:使用HTML来实现网页版简单的个人简历.实现代码:总结:只是简单的个人页面的制作,后期可以使用CSS和JS来是页面更加完善

2021-03-23 16:16:26 2358

原创 JavaWeb 相关知识点总结

html基础知识点HTML:是静态的基础页面的组成特点:1.可以通过任何编译器来编写代码,不局限于某一个编程软件.2.无需编译,直接通过浏览器就可以运行,使用GoogleHTML 基础组成:开始 < html> 头部:< head > { < h1 > < /h1> < title> < /title> < !--标题--> < meta charset="UTF-8">&

2021-03-21 17:16:04 130

空空如也

空空如也

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

TA关注的人

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