自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 设计模式:关于单例模式的问题

实现单例有多少种方式?廖雪峰->单例饿汉式:在类加载的时候就加载。线程安全。public class Singleton { // 静态字段引用唯一实例: private static final Singleton INSTANCE = new Singleton(); // 通过静态方法返回实例: public static Singleton...

2020-03-13 16:02:45 353

原创 Java基础:关于hashmap的问题

hashmap怎么解决hash冲突hashmap解决hash冲突首先,hashmap在hash冲突时会将其追加到链表或红黑树中。另外,hashmap会通过再hash来尽可能避免hash冲突,再hash是通过(h >>> 16)把hash值(32位)的高16位移到低16位的位置,然后和原hash值进行异或(^)。这样做的好处是,由于hash值范围太大,因此只会取低16位来...

2020-03-12 16:03:23 417

原创 Spring:IoC容器

IOC容器依赖注入和控制反转的区别?“依赖注入”和“控制反转”其实就是一个事物的两种不同说法而已,本质上是一回事。基本思想:把类的依赖从类内部转到外部以减少依赖。利用“控制反转”,对象在被创建时,会由一个调控系统统一进行对象实例的管理,将该对象所依赖对象的引用通过调控系统传递给它。也可以说,依赖被注入到对象中。“控制反转”是关于一个对象如何获取它所依赖对象的引用的过程,而反转体现在“谁...

2020-03-12 02:37:40 145

原创 Spring:BeanFactory和FactoryBean

BeanFactory是一个复杂工厂模式的实现,无需编程就能实现单例。

2020-03-12 02:36:53 142

原创 JVM:方法的“重写”和重载在虚拟机中是如何实现的?虚拟机的分派问题。

简述方法的“重载”和“重写”重载(Overload):在一个类中,多个方法的方法名相同,而参数个数、参数类型和参数顺序不同。在调用方法时,通过不同的参数列表,来确定调用的方法。这体现了多态。重写(Override):在子类继承父类时,通过方法名、返回值类型和参数列表相同,来覆盖父类的方法,从而改变方法的行为。“重载”和“重写”的原理是什么?“重载”时如何确定方法版本?“重写”时父类如何确...

2020-03-11 22:17:18 245

原创 面试笔记:JVM

数组类和非数组类在类加载过程有什么不同?数组类是通过类加载器来加载到内存中,而数组类本身不通过类加载器创建,它是由Java虚拟机直接在内存中动态构建出来的。不过,数组的元素类型最终还是靠类加载器来完成加载的。简述一下Java虚拟机的类加载机制加载:通过类的全限定名获取定义此类的二进制字节流(Class文件),将字节流代表的静态存储结构转换为方法区的运行时数据结构,最后在内存中生成一个代表这...

2020-03-11 21:41:18 149

原创 SpringCloud:多模块下Feign的使用,@Autowired注入问题以及JSON问题

Feign简介Feign是一个声明式WebService客户端.使用Feign能让编写WebService客户端更加简单,它的使用方法是定义一个接口,然后在上面添加注解,同时也支持JAX-RS标准的注解.Feign也支持可拔插式的编码器和解码器.Spring Cloud对Feign进行了封装,使其支持了Spring MVC标准注解和HttpMessageConverters.Feign可以与Eu...

2020-03-05 10:59:34 5456 1

原创 算法:最长回文子串【字符串】

最长回文子串给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”分析其实也可以不用dp数组,因此每次只用到dp[i-1],弄个int变量存储就好了。。。。动态规划/* * @lc app=leetcode...

2020-03-03 10:46:34 140

转载 数据库:为什么选择B+树作为数据库索引结构?

背景首先,来谈谈B树。为什么要使用B树?我们需要明白以下两个事实:【事实1】不同容量的存储器,访问速度差异悬殊。以磁盘和内存为例,访问磁盘的时间大概是ms级的,访问内存的时间大概是ns级的。有个形象的比喻,若一次内存访问需要1秒,则一次外存访问需要1天。所以,现在的存储系统,都是分级组织的。最常用的数据尽可能放在更高层、更小的存储器中,只有在当前层找不到,才向更低层、更大的存储器中寻找。这也...

2020-03-02 00:53:40 212

原创 算法:前缀树/字典树【字符串】

实现 Trie (前缀树)Category Difficulty Likes Dislikesalgorithms Medium (63.21%) 175 -TagsCompanies实现一个 Trie (前缀树),包含 insert, search, 和 startsWith 这三个操作。示例:Trie trie = new Trie();trie.insert(“apple”)...

2020-01-05 14:51:05 149

原创 算法:最长有效括号【字符串、动态规划】

最长有效括号Category Difficulty Likes Dislikesalgorithms Hard (28.90%) 451 -TagsCompanies给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。示例 1:输入: “(()”输出: 2解释: 最长有效括号子串为 “()”示例 2:输入: “)()())”输出: 4解释: ...

2020-01-04 17:29:39 474

原创 算法:基本计算器【字符串】

基本计算器Category Difficulty Likes Dislikesalgorithms Hard (36.40%) 126 -TagsCompanies实现一个基本的计算器来计算一个简单的字符串表达式的值。字符串表达式可以包含左括号 ( ,右括号 ),加号 + ,减号 -,非负整数和空格 。示例 1:输入: “1 + 1”输出: 2示例 2:输入: " 2-1 ...

2020-01-04 17:16:40 848

原创 Spring:AOP类型的选择

Spring AOP和AspectJAspectJ功能更全面,而Spring AOP注重和Spring IoC容器结合。AspectJ实现上依赖于特殊编译器(ajc编译器)(静态织入),Spring使用动态代理技术来避免这个问题(动态织入)。基于@AspectJ注解 和 基于XML风格Spring AOP两种都可选择。XML风格有2个缺点:没有完全封装在一个地方,需求知识被分解...

2019-12-29 17:15:41 113

原创 Spring:bean作用域

bean生命周期Spring的默认所有Spring bean都是单例的。但开发人员可以在bean中添加scope属性来修改默认scope值。范围描述singleton每个Spring容器只有一个实例(默认值)prototypebean可以被多次实例化(使用一次就创建一个实例)requestbean的scope是HTTP请求。每个HTTP请求都有自己的实例。...

2019-12-29 11:19:17 88

原创 算法:N皇后【回溯】

N皇后问题描述n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。上图为 8 皇后问题的一种解法。给定一个整数 n,返回所有不同的 n 皇后问题的解决方案。每一种解法包含一个明确的 n 皇后问题的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。示例:输入: 4输出: [ [".Q..", // 解法 1 "....

2019-12-27 12:54:24 147

原创 算法:交错字符串【动态规划】

交错字符串给定三个字符串 s1, s2, s3, 验证 s3 是否是由 s1 和 s2 交错组成的。示例 1:输入: s1 = “aabcc”, s2 = “dbbca”, s3 = “aadbbcbcac”输出: true示例 2:输入: s1 = “aabcc”, s2 = “dbbca”, s3 = “aadbbbaccc”输出: falseLeetCode分析另外,可...

2019-12-19 12:12:22 219

原创 算法:最小编辑距离【动态规划】

最小编辑距离给定两个单词 word1 和 word2,计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符示例 1:输入: word1 = “horse”, word2 = “ros”输出: 3解释:horse -> rorse (将 ‘h’ 替换为 ‘r’)rorse -> ros...

2019-12-19 11:31:52 317

原创 算法:最长重复子数组【动态规划】

最长重复子数组/最长公共子串题目描述:给两个整数数组 A 和 B ,返回两个数组中公共的、长度最长的子数组的长度。示例 1:输入:A: [1,2,3,2,1]B: [3,2,1,4,7]输出: 3解释:长度最长的公共子数组是 [3, 2, 1]。说明:1 <= len(A), len(B) <= 10000 <= A[i], B[i] < 100L...

2019-12-18 11:35:38 256

原创 架构:什么是中台?

什么是中台?企业为什么要建中台?后台并不为前台而生,中台才是为前台而生: 企业后台往往并不能很好的支撑前台快速创新响应用户的需求,后台更多解决的是企业管理效率问题,而中台要解决的才是前台的创新问题。大多数企业已有的后台,要么前台根本用不了,要不不好用。即使新建后台系统,因为其管理的是企业的关键核心数据,考虑到企业安全、审计、合规、法律等限制。导致其同样往往不能直接被前台使用,或是受到各类...

2019-12-17 12:57:18 532

原创 算法:最长上升子序列【动态规划】

最长递增子序列给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。说明:可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。你算法的时间复杂度应该为 O(n2) 。进阶: 你能将算法的时间复杂度降低到 O(n log n) 吗?lee...

2019-12-16 18:55:58 101

原创 算法:最小路径和【动态规划】

最小路径和给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入: [ [1,3,1], [1,5,1], [4,2,1] ]输出: 7解释: 因为路径 1→3→1→1→1的总和最小。leetcode题目分析:矩阵最上角到右下角最小路径每次只能向下或者向右移动一步(...

2019-12-16 15:36:45 264

原创 笔记:Head First设计原则和设计模式

Head First 设计原则原则一:找出应用中可能会变化之处,把它独立出来,不要和那些不需要变化的混在一起封装变化,使其更具有弹性。eg:把鸭子中容易变化的fly()和quack()分别从duck类中独立出来原则二:针对接口编程,而不是针对实现编程利用接口代表每个行为,行为的每个实现都要实现其中一个接口。这样,鸭子就不需要知道行为的具体实现了。“针对接口编程”真正的意思是针对超类型编程...

2019-12-16 14:36:07 736

原创 算法:矩阵计算【动态规划】

矩阵计算DescriptionLet’s define a Series Whose recurrence formula is as follows :C(n)= 3C(i-1) + 4C(i-2) + 5C(i-3) + 6C(i-4)C(0)= 2C(1)= 0C(2)= 1C(3)= 7Now based on this Series a Matrix Mi,j of si...

2019-12-04 19:14:48 419

原创 算法:订单问题【动态规划】

订单问题DescriptionRahul and Ankit are the only two waiters in Royal Restaurant. Today, the restaurant received N orders. The amount of tips may differ when handled by different waiters, if Rahul takes ...

2019-12-04 18:55:17 641

原创 算法:如何花最少的钱购买蔬菜【动态规划】

如何花最少的钱购买蔬菜DescriptionRahul wanted to purchase vegetables mainly brinjal, carrot and tomato. There are N different vegetable sellers in a line. Each vegetable seller sells all three vegetable items,...

2019-12-04 17:00:44 377

原创 算法:硬币最小数量【贪婪、动态规划】

硬币最小数量DescriptionGiven the list of coins of distinct denominations and total amount of money. Output the minimum number of coins required to make up that amount. Output -1 if that money cannot be ma...

2019-12-04 00:37:23 1203

原创 算法:时间分隔【贪婪】

时间分隔DescriptionGiven arrival and departure times of all trains that reach a railway station. Your task is to find the minimum number of platforms required for the railway station so that no train wa...

2019-12-04 00:19:16 530

原创 算法:格子里的整数【贪婪】

格子里的整数DescriptionGiven a square grid of size n, each cell of which contains integer cost which represents a cost to traverse through that cell, we need to find a path from top left cell to bottom ri...

2019-12-03 20:04:35 209

原创 算法:管道网络【贪婪】

管道网络DescriptionEvery house in the colony has at most one pipe going into it and at most one pipe going out of it. Tanks and taps are to be installed in a manner such that every house with one outgoi...

2019-12-03 19:34:17 278

转载 算法:路上的球【贪婪】

路上的球DescriptionThere are two parallel roads, each containing N and M buckets, respectively. Each bucket may contain some balls. The buckets on both roads are kept in such a way that they are sorted ...

2019-12-03 14:55:02 152

原创 算法:时间与收益【贪婪】

参考

2019-12-03 13:53:59 734

转载 算法:和最大的连续降序字符【字符串】

和最大的连续降序字符DescriptionArchana is very fond of strings. She likes to solve many questions related to strings. She comes across a problem which she is unable to solve. Help her to solve. The problem is...

2019-12-02 21:03:22 204

原创 算法:最小交换次数【排序】

最小交换次数DescriptionGiven an array of N distinct elementsA[ ], find the minimum number of swaps required to sort the array.Your are required to complete the function which returns an integer denoting t...

2019-12-02 19:53:59 2455

原创 算法:shell排序【排序】

实现Shell排序Description实现Shell排序,对给定的无序数组,按照给定的间隔变化(间隔大小即同组数字index的差),打印排序结果,注意不一定是最终排序结果!Input输入第一行表示测试用例个数,后面为测试用例,每一个用例有两行,第一行为给定数组,第二行为指定间隔,每一个间隔用空格隔开。Output输出的每一行为一个用例对应的指定排序结果。Sample Input 1...

2019-12-02 19:30:20 461

原创 算法:01背包问题【动态规划】

01背包问题【动态规划】01背包是典型的动态规划问题。动态规划的原理动态规划与分治法类似,都是把大问题拆分成小问题,通过寻找大问题与小问题的递推关系,解决一个个小问题,最终达到解决原问题的效果。但不同的是,分治法在子问题和子子问题等上被重复计算了很多次,而动态规划则具有记忆性,通过填写表把所有已经解决的子问题答案纪录下来,在新问题里需要用到的子问题可以直接提取,避免了重复计算,从而节约了时间...

2019-11-25 15:59:08 763

原创 算法:漆狗屋/书本分发(最大值最小问题)【查找】

漆狗屋/书本分发(最大值最小问题)DescriptionDilpreet wants to paint his dog- Buzo’s home that has n boards with different lengths[A1, A2,…, An]. He hired k painters for this work and each painter takes 1 unit time ...

2019-11-23 14:02:29 692 2

原创 算法:按照数值个数排序【排序】

按照数值个数排序Description对给定数组中的元素按照元素出现的次数排序,出现次数多的排在前面,如果出现次数相同,则按照数值大小排序。例如,给定数组为{2, 3, 2, 4, 5, 12, 2, 3, 3, 3, 12},则排序后结果为{3, 3, 3, 3, 2, 2, 2, 12, 12, 4, 5}。Input输入的第一行为用例个数;后面每一个用例使用两行表示,第一行为数组长...

2019-11-19 23:05:23 923

原创 算法:点的凸包【分治】

点的凸包DescriptionConvex Hull of a set of points, in 2D plane, is a convex polygon with minimum area such that each point lies either on the boundary of polygon or inside it. Now given a set of points ...

2019-11-19 22:31:11 476

原创 算法:对称最长子字符串【字符串】

对称最长子字符串DescriptionGiven a string ‘str’ of digits, find length of the longest substring of ‘str’, such that the length of the substring is 2k digits and sum of left k digits is equal to the sum of r...

2019-11-17 00:14:12 275

原创 计网:BGP

BGP笔记BGP:Border Gateway Protocol(边界网关协议),基于协议的路由协议BGPv4:支持CIDR(无类别域间路由)AS:Autonomous System(自治系统)IBGP和EBGP:run inside an AS :internal BGP(IBGP)run between ASes:external BGP(EBGP)AS和外部连接根据连接ISP...

2019-11-15 19:08:41 569

空空如也

空空如也

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

TA关注的人

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