自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Django models计算时间差/平均时间/Datetimefield平均值

django models annotation 关于datetimefield取平均值时的处理

2022-08-05 11:14:20 904 1

原创 单例模式(懒汉式和饿汉式)

什么是单例模式?单例模式(Singleton Pattern)是Java中最简单的设计模式之一。它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。饿汉式单例模式这个模式在类被加载的时候就会实例化一个对象public class Hungry{ private Hungry(){ } private final .

2021-05-25 14:47:03 535

原创 java8锁问题

经典八锁问题1、synchronized标准访问/** * @author alex tse * 8锁问题 * 1、标准访问,先发短信还是先打电话 */public class test1 { public static void main(String[] args) { phone phone = new phone(); new Thread(()->{ phone.sendSMS(); //线程A执行发短信

2021-05-17 21:04:49 188

原创 HTTP与HTTPS

1、什么是HTTP?HTTP是超文本传输协议(它是一种协议),是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。HTTP基于TCP/IP通信协议来传递数据。2、什么是HTTPS?HTTP over SSLHTTPS是一种通过计算机网络进行安全通信的传输协议,经由HTTP进行通信,用SSL/TLS建立全信道,加密传输的数据包。使用的目的是提供对网站服务器的身份认证,保护交换数据的隐私和完整性。TLS是传输层加密协议,前身是SSL协议。3、HTTP特点无状态:协议对

2021-05-17 09:40:16 90

原创 Java线程池七个参数

Java线程池的构造方法public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue

2021-05-16 14:08:29 185

原创 ArrayList和LiinkedList的区别

1、相同点都是单列集合中List接口的实现类,存取有序,有索引,可以重复2、不同点底层实现不同:ArrayList的源码:public ArrayList(Collection<? extends E> c) { Object[] a = c.toArray(); //数组 if ((size = a.length) != 0) { if (c.getClass() == ArrayList.class) {

2021-05-16 12:43:34 303

原创 Arrays工具类常用方法

Arrays类介绍Arrays类是一个工具类,其中包含了数组操作的很多方法,包括搜索和排序Arrays常用的几种方法1、asList()由给定的一个数组,返回一个固定大小的list对象public static <T> List<T> asList(T... a) { return new ArrayList<>(a); }他返回了一个ArrayList,但是并不是java.util中的ArrayList类,Arrays内部封装了

2021-05-14 17:53:36 371

原创 String.indexOf的实现源码

String的indexOf()方法源码首先打开String.java的源码看到indexOf的代码public int indexOf(int ch, int fromIndex) { return isLatin1() ? StringLatin1.indexOf(value, ch, fromIndex) : StringUTF16.indexOf(value, ch, fromIndex);}他判断了一个isLatin1()boolean isLatin1().

2021-05-14 10:30:09 970

原创 Redis和Memcache的对比

什么时候使用Redis,什么时候使用memcache,下面是redis作者的说法You should not care too much about performances. Redis is faster per core with small values, but memcached is able to use multiple cores with a single executable and TCP port without help from the client. Also mem.

2021-05-14 10:05:52 83

原创 Redis在SpringBoot进行RedisTemplate自定义配置

Redis在SpringBoot进行RedisTemplate自定义配置在SpringBoot中,RedisTemplate给我们默认配置的是JDK的序列化@Overridepublic void afterPropertiesSet() { super.afterPropertiesSet(); boolean defaultUsed = false; if (defaultSerializer == null) { defaultSerializ

2021-05-11 09:31:11 1016 2

原创 剑指 Offer 68 - II. 二叉树的最近公共祖先

剑指 Offer 68 - II. 二叉树的最近公共祖先给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]示例 1:输入: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5

2021-05-01 23:56:41 71

原创 LRU 缓存算法java

面试题 16.25. LRU 缓存设计和构建一个“最近最少使用”缓存,该缓存会删除最近最少使用的项目。缓存应该从键映射到值(允许你插入和检索特定键对应的值),并在初始化时指定最大容量。当缓存被填满时,它应该删除最近最少使用的项目。它应该支持以下操作: 获取数据 get 和 写入数据 put 。获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。写入数据 put(key, value) - 如果密钥不存在,则写入其数据值。当缓存容量达到上限时

2021-05-01 23:56:10 61

原创 寻找旋转排序数组的最小值

153. 寻找旋转排序数组中的最小值已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,2,4,5,6,7] 在变化后可能得到:若旋转 4 次,则可以得到 [4,5,6,7,0,1,2]若旋转 7 次,则可以得到 [0,1,2,4,5,6,7]注意,数组 [a[0], a[1], a[2], ..., a[n-1]] 旋转一次 的结果为数组 [a[n-1], a[0], a[1], a[2], ..., a[n-2]]

2021-04-23 00:00:03 70

原创 寻找峰值

162. 寻找峰值峰值元素是指其值大于左右相邻值的元素。给你一个输入数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。你可以假设 nums[-1] = nums[n] = -∞ 。示例 1:输入:nums = [1,2,3,1]输出:2解释:3 是峰值元素,你的函数应该返回其索引 2。示例 2:输入:nums = [1,2,1,3,5,6,4]输出:1 或 5 解释:你的函数可以返回索引 1,其峰值元素为 2;

2021-04-22 23:59:33 61

原创 排序链表Java代码实现

148. 排序链表难度 中等给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。进阶:你可以在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序吗?示例 1:输入:head = [4,2,1,3]输出:[1,2,3,4]示例 2:输入:head = [-1,5,3,4,0]输出:[-1,0,3,4,5]示例 3:输入:head = []输出:[]参考代码(Java)/** * Definition for singly-

2021-04-10 12:08:03 125

原创 汉诺塔问题Java代码解答

面试题 08.06. 汉诺塔问题难度 简单在经典汉诺塔问题中,有 3 根柱子及 N 个不同大小的穿孔圆盘,盘子可以滑入任意一根柱子。一开始,所有盘子自上而下按升序依次套在第一根柱子上(即每一个盘子只能放在更大的盘子上面)。移动圆盘时受到以下限制:(1) 每次只能移动一个盘子;(2) 盘子只能从柱子顶端滑出移到下一根柱子;(3) 盘子只能叠在比它大的盘子上。请编写程序,用栈将所有盘子从第一根柱子移到最后一根柱子。你需要原地修改栈。示例1: 输入:A = [2, 1, 0], B = [],

2021-04-10 12:07:35 114

原创 每日温度

739. 每日温度难度 中等请根据每日 气温 列表,重新生成一个列表。对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用 0 来代替。例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1, 4, 2, 1, 1, 0, 0]。提示:气温 列表长度的范围是 [1, 30000]。每个气温的值的均为华氏度,都是在 [30, 100] 范围内的整数。代码实现(Jav

2021-03-27 22:50:47 78

原创 计算器

面试题 计算器难度 中等给定一个包含正整数、加(+)、减(-)、乘(*)、除(/)的算数表达式(括号除外),计算其结果。表达式仅包含非负整数,+, - ,*,/ 四种运算符和空格 。 整数除法仅保留整数部分。示例 1:输入: "3+2*2"输出: 7示例 2:输入: " 3/2 "输出: 1示例 3:输入: " 3+5 / 2 "输出: 5说明:你可以假设所给定的表达式都是有效的。请不要使用内置的库函数 eval。代码实现(Java)public int calc

2021-03-27 22:50:13 84

原创 反转单链表

反转一个单链表。参考代码(java):/** \* Definition for singly-linked list. \* public class ListNode { \* int val; \* ListNode next; \* ListNode() {} \* ListNode(int val) { this.val = val; } \* ListNode(int val, ListNode next) { this.val = val;

2021-03-15 17:15:04 58

原创 两数相加(java)

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/add-two-numbers参考代码(java):/** \* Definition for singly-linked list. \* public cl

2021-03-15 16:45:15 275

原创 重新排列字符串(Java版)

给你一个字符串 s 和一个 长度相同 的整数数组 indices 。请你重新排列字符串 s ,其中第 i 个字符需要移动到 indices[i] 指示的位置。返回重新排列后的字符串。示例 1:输入:s = "codeleet", indices = [4,5,6,7,0,2,1,3]输出:"leetcode"解释:如图所示,"codeleet" 重新排列后变为 "leetcode" 。示例 2:输入:s = "abc", indices = [0,1,2]输出:"abc"解释:重新排列

2021-03-08 22:32:54 537 1

原创 编写一种方法,将字符串中的空格全部替换为%20(Java版)

编写一种方法,将字符串中的空格全部替换为%20(Java版).URL化。编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。)示例 1:输入:"Mr John Smith ", 13输出:"Mr%20John%20Smith"示例 2:输入:" ", 5输出:"%20%20%20%20%20"来源:力扣(LeetCode

2021-03-08 22:15:25 1417 1

空空如也

空空如也

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

TA关注的人

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