自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 接雨水算法的四种解题思路

接雨水

2022-05-07 20:02:16 290

原创 内存泄漏,内存溢出是什么?

内存泄漏,在Java中一般指代(两个或两个以上)对象之间的强引用,且已经没有实际作用,由于中间存在着引用的关系,不能被回收也就是无法释放,从而造成内存泄漏。少量的内存泄露没有多大关系,超过一定数量时就会造成内存溢出。如何防止内存泄露:...

2021-10-09 17:43:47 160

原创 ArrayList 如何实现插入的数据按自定义的方式有序存放

如果list全是基本类型的包装类可以直接使用Collections.sort(List list) public void baseObjListTest(){ List<Integer> list= new ArrayList(); list.add(1); list.add(4); list.add(7); list.add(9); list.add(2); list.add

2021-01-16 11:50:05 581 2

原创 力扣155.最小栈

设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。 pop() —— 删除栈顶的元素。 top() —— 获取栈顶元素。 getMin() ——检索栈中的最小元素。示例:输入: [“MinStack”,“push”,“push”,“push”,“getMin”,“pop”,“top”,“getMin”][[],[-2],[0],[-3],[],[],[],[]]输出: [null,null,null,null,-3.

2020-09-16 21:12:26 93

原创 JDBC面试题

1.JDBC任何做事务处理conn.setAutoCommit(false);conn.commit();conn.rollback();2.写出几个JDBC中常用的接口PreparedStatementCallableStatementStatementConnectionResultSet3.简述你对Statement,PreparedStatement,CallableStatement的理解statement用于执行静态SQL语句并返回它所生成结果的对象,在执行时确定

2020-05-18 16:44:07 211 1

原创 css浮动

1.CSS float(浮动) 基础知识会使元素向左或向右移动,只能左右,不能上下浮动元素碰到包含框或另一个浮动框,浮动停止浮动元素之后的元素围绕它,之前的不受影响。浮动元素会脱离标准流2.浮动基础语法float :left; 左浮动float:right; 右浮动float:none;没有浮动3. 清除浮动在浮动元素的下面加一个空的div盒子,clear:both可...

2020-05-08 13:31:19 89

原创 模拟多线程抢票和叫号

**多窗口叫号**public class YourTurn { public static void main(String[] args) { Bank b=new Bank(); Thread t1=new Thread(b, "窗口一"); Thread t2=new Thread(b, "窗口二"); Thr...

2019-11-27 21:12:02 130

原创 单例模式

这是一个简单的单例模式:public class Singleton { private static Singleton instance=new Singleton(); public static Singleton getInstance(){ return instance; }}是不是感觉缺了一点什么?没错,Java会自动为没有明确声明构...

2019-10-24 20:16:20 101

原创 Servlet介绍

什么是Servlet创建Servlet有哪些方式创建HelloServlet应用Servlet概述Servlet生命周期分为三个阶段1. 初始化阶段调用init()方法2. 响应客户请求阶段调用service()方法3. 终止阶段调用destory()方法什么是ServletJavaWeb的三大组件之一,称为小服务程序或服务连接器,用JAVA编写的服务器端程序,主要功能在于交...

2019-10-24 10:08:11 86

原创 代理模式

什么是代理模式代理模式也叫做委托模式,是结构性模式之一。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用,比如我们生活中的邮局,快递公司,婚介所等等。...

2019-10-20 16:03:51 83

原创 用栈实现浏览器的前进后退功能

思路:栈是一种先进后出数据结构,可以利用其特性,制造两个栈,一个保存前进的网页地址,一个保存后退的网页地址,在用一个参数保存当前网页地址。后退两步前进一步Talk is cheap show me the codepublic class BrowserStack { static String[] url={"http://www.baidu.com","https://m...

2019-10-15 16:26:36 348

原创 用数组和链表实现顺序栈和链式栈

基于数据的顺序栈public class ArrayStack<T> { private T[] data; private int n; private int count; public ArrayStack(int n){ this.data= (T[]) new Object[n]; this.n=n; ...

2019-10-14 15:33:23 119

原创 为什么不要使用String类来拼接字符串

String 类事由final修饰的,那么就代表它不能被继承,他时他也时不可变的(immutable)。如下代码,会发生一个特别尴尬的事情就是,在内存堆中创建了一个Stirng对象"abc",a拼接之后,又创建了一个String对象"abcde",而“abc”没有进行回收。String a="abc"; a+="de";所以不要使用String进行字符串拼接,使用Str...

2019-10-13 22:20:57 943

原创 Java 并发 01

并发编程的幕后故事:CPU、内存、I/O设备都在不断迭代,不断朝更快的方向努力。但是,在这个快速发展的过程中,有一个核心矛盾一直存在,就是三者的速度差异,假设CPU执行一条普通指令需要一天,那么内存读写内存得等待一年。内存和I/O设备的的速度差异就更大了,内存一天,I/O设备是地上十年根据木桶理论,程序整体性能取决于最慢的操作-读写I/O设备,也就是说单方面提高CPU性能是无效的。为了平衡...

2019-08-07 20:16:29 147

原创 五种排序算法

冒泡排序只会操作相邻的两个数据。每次冒泡操作都会对相邻的两个元素进行比较,看是否满足大小关系要求。如果不满足就让它俩互换。一次冒泡会让至少一个元素移动到它应该在的位置,重复n次,就完了n个数据的排序工作。// 冒泡排序,a 表示数组,n 表示数组大小public void bubbleSort(int[] a, int n) { if (n <= 1) return;for (i...

2019-08-07 19:43:59 231

翻译 队列

队列队列和栈一样都是受限的数据结构,栈是先进后出,而队列就像排队一样,先来的先走,也就是先进先出。队列的入队方法enqueue(),出队方法dequeue()基于数组的实现的队列叫做顺序队列,用链表实现的队列叫作链式队列// 用数组实现的队列public class ArrayQueue { // 数组:items,数组大小:n private String[] items;...

2019-07-26 20:09:37 96

翻译 二分查找

二分查找二分查找是一种非常简单易懂的快速查找算法,二分查找针对的是一个有序的数据集合,查找思想有点类似分治思想。每次都通过跟区间的中间元素对比,将待查找的区间缩小为之前的一半,直到找到要查找的元素,或者区间被缩小为0。O(logn)惊人的查找速度二分查找每一次操作都会减少一半的数据,比如2的三十二次方是四十多亿,即便四十多亿条数据用二分查找只需要三十二次就行了。//非递归代码实现pub...

2019-07-26 20:00:22 99

翻译 事务隔离

1.事务并发处理可能存在的三种异常有哪些?什么时脏读、不可重复读和幻读?(1)脏读,小张访问数据库,进行事务操作,新增了一条数据,还没来得急提交,这时候小李对数据库进行了访问,读到了小张还没有来得急提交的数据。也就是读到了其他事务还没有提交的数据(2)不可重复读,小张进行一次查询后,小李刚好修改了小张上次查询的数据,小张再次查询的时候发现不一样了,也就是同一条记录,两次读取的结果不同。这是因为...

2019-07-17 19:32:08 77

翻译

栈是一种后进者先出,先进者后出的数据结构。可以理解成一摞叠在一起的盘子。我们平时放盘子的时候,都是从下往上一个一个放;取的时候,我们也是从上往下一个一个地依此取。栈是一种“操作受限”的线性表,只允许在一端插入和删除数据。栈既可以用数组来实现,也可以用链表来实现。用数组实现的栈,叫做顺序栈,用链表实现的栈,叫链式栈。//基于数据实现的顺序栈public class StackBaseArra...

2019-07-17 19:23:40 99

翻译 基于数组的LRU缓存策略

缓存是一种提高数据读取性能的技术,在硬件设计、软件开发中都有着非常广泛的应用,比如常见的CPU缓存、数据库缓存、浏览器缓存等等。缓存的大小有限,当缓存用满时,哪些数据应该清理出去,哪些数据应该保留?这就需要淘汰策略来决定。常见的策略有三种:先进先出策略FIFO(First In,First Out)、最少使用策略LRU(Least Frequently Used)、最近最少使用策略LRU(Lea...

2019-07-07 19:42:33 250

翻译 数据结构链表

数组是一块连续的内存空间来存储数据的数据结构,它队内存的要求比较高。如果我们申请一个100MB大小的数据,当内存没有连续的、足够大的存储空间时,即便内存的剩余总空间大于100MB,仍然会申请失败。而链表恰恰相反,他并不需要一块连续的内存空间,它通过“指针”将一组零散的内存块串联起来使用,所以如果我们申请的是100MB大小的链表,根本不会有问题最常见的三种数据结构:单链表、双向链表、循环链表...

2019-07-07 19:22:55 61

原创 spring ioc入门

1.首先新建一个Maven项目2.到底怎么创建我就不说了,网上资料一大把在pom.xml文件中引入四个主要jar包,<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</arti...

2019-06-26 21:01:54 65

原创 Java基础(2)

强引用、弱引用、软引用、幻想引用有什么区别?具体使用场景是什么?不同的引用类型,主要体现的是对象不同的可达性(reachable)状态和对垃圾收集的影响所谓强引用(“Strong”Reference),就是我们常说的普通对象引用,只要还有强引用指向一个对象,就证明对象还“活着”,垃圾回收器不会碰这种对象。对于一个普通对象,如果没有其他引用关系,只要超过了引用的作用域或者显示地将相应(强)引用赋...

2019-06-26 20:46:07 86

原创 求一个整数的7进制

/* 给定一个整数,将其转化为7进制,并以字符串形式输出。示例 1:输入: 100输出: "202"示例 2:输入: -7输出: "-10"注意: 输入范围是?[-1e7, 1e7] 。 */ public class Solution { public static String convertToBase7(int num) { if(num==0) ret...

2019-06-16 19:32:25 1098

翻译 Java基础(1)

**Java基础(1)Java本身是一种面向对象的语言,最显著的特征有两个方面,一是所谓的”书写一次,到处运行”,能够非常容易获得跨平台的能力;另外就是垃圾收集(GC),Java通过垃圾收集器回收分配内存,部分情况下,程序员不需要自己操心内存的分配和回收。我们日常接触到JRE或者JDK,也是Java运行环境,包含了JVM和Java类库,以及一些模块。而JDK可以看作是JRE的一个超集,提供了...

2019-06-15 19:47:34 82

翻译 JSP内置对象(1)

JSP内置对象:就是不需要预先声明就可以在脚本代码和表达式中随意引用JSP有九大内置对象和四种作用域request封装了由web浏览器或其他客户端生成HTTP请求的细节(参数,属性,头标和数据)getParameter(Stringname)可以通过一个控件(input)的name属性来获取控件的值 out代表输出流对象println();输出指定信息 response...

2019-03-22 23:20:20 71

空空如也

空空如也

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

TA关注的人

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