自定义博客皮肤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)
  • 收藏
  • 关注

原创 Java垃圾回收简述

自动管理内存的机制,负责自动释放不再被程序引用的对象所占用的内存。

2024-10-07 15:39:49 879

原创 内存泄漏和内存溢出简述

面试问的挺多的,这里简单记录一下。不再使用的对象没有被回收,导致可用内存逐渐减少。JVM申请内存时,无法找到足够的内存,引发OOM。

2024-09-29 22:45:15 355

原创 力扣算法题总结

题目:求最多重叠(x,y)的数量思路:按y排序,把y放入,逐个比较x,x大于优先队列的堆顶元素就弹出堆顶。

2024-09-24 22:40:27 1154

原创 Java中的类加载过程

类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型。

2024-09-03 16:25:26 1116

原创 JVM内存模型简述

JVM内存结构虚拟机栈: 每个方法会在虚拟机栈中创建一个栈帧,存储这个方法的局部变量表,操作数栈,方法出口等信息。本地方法栈: 与虚拟机栈类似,只是虚拟机栈执行java方法,本地方法栈执行native方法。堆内存: 存在对象实例。所有的对象实例和数组都在堆上进行分配,所有线程共享。程序计数器: 当前线程执行的字节码指令的行号指示器。每个线程都有一个私有的程序计数器,使得在线程切换后线程能恢复正确执行的位置。元空间: 是对方法区这个概念的实现,存储类的元数据信息,如类的结构信息等等。元空间不在虚

2024-09-01 16:34:42 196

原创 Java的线程池简述

线程池是为了减少频繁的创建线程和销毁线程带来的性能损耗,线程池的工作原理如下图:线程池分为核心线程池,线程池的最大容量,还有等待任务的队列,提交一个任务,如果核心线程没有满,就创建一个线程,如果满了,就是会加入等待队列,如果等待队列满了,就会增加线程,如果达到最大线程数量,就会按照一些丢弃的策略进行处理。

2024-08-31 17:05:19 955

原创 Java中syncronized锁升级的过程

对象初始状态,没有任何锁。当只有一个线程访问时,锁会偏向于该线程,后续访问无需重新加锁。当多个线程竞争锁时,锁会升级为轻量级锁,通过 CAS 操作和自旋来避免线程阻塞。当锁竞争激烈,轻量级锁失败后,锁会升级为重量级锁,线程会被阻塞,等待锁的释放。锁的升级过程是 JVM 的一项优化机制,旨在适应不同的并发场景,提升程序的性能。

2024-08-27 15:47:10 886

原创 Spring AOP简述

AOP 是一种思想,而 Spring AOP 是实现(框架),这种关系和 IOC(思想)与 DI(实现)类似。(Aspect Oriented Programming):面向切面编程。基础上,因此 Spring 对 AOP 的支持局限于方法级别的拦截。Spring AOP 是构建在。

2024-08-20 21:16:58 146

原创 简易版RPC框架开发

RPC(Remote Procedure Call)即远程过程调用,是一种计算机通信协议,它允许程序在不同的计算机之间进行通信和交互,就像本地调用一样。在单机后台中,调用方法很简单,但是在分布式系统中,服务器A上的程序要想调用服务器B上提供的方法,就需要用到RPC。RPC 允许一个程序(称为服务消费者)像调用自己程序的方法一样,调用另一个程序(称为服务提供者)的接口,而不需要了解数据的传输处理过程、底层网络通信的细节等。

2024-07-06 17:04:33 622

原创 MySQL事务

事务是一个不可分割的数据库操作序列,也是数据库并发控制的基本单位,其执行结果必须使数据库从一种一致性状态变到另一种一致性状态。事务时逻辑上的一组操作,要么都执行,要么都不执行。

2024-06-24 14:55:01 909

原创 黑马点评项目技术要点分析

可以使用session拷贝,把session拷贝到每台服务器上,每当其中一台服务器的session被修改时,要同步到其它服务器的session上,这样可以实现session信息共享。当只有一个拦截器A时,该拦截器拦截所有需要登录状态的路径,进行获取token,去redis查询用户,刷新token有效期的操作。解决方法:在拦截器A前面再加一个拦截器B,拦截一切路径,获取token,去redis查询用户,刷新token有效期的操作放到拦截器B中,而拦截器A只需要判断ThreadLocal中有没有用户信息即可。

2024-06-22 22:21:52 1644

原创 ThreadLocal详解

在做项目时发现项目中一般都会把用户信息存入ThreadLocal中,方便后续使用用户信息。但是的原理是什么呢?这里结合网上的资料记录一下我自己的理解。

2024-06-22 21:33:21 1073

原创 MySQL索引要点

优点:减少数据查询时间缺点:创建索引和维护索引需要耗费时间在 MySQL 中,无论是 Innodb 还是 MyIsam,都使用了作为索引结构。不支持顺序和范围查询,在有序情况会退化为线性链表,需要频繁进行旋转操作保持平衡,会有较大的计算开销从而降低数据库写操作的性能,平衡性较弱,可能导致树的高度较高,可能导致一些数据需要进行多次磁盘IO操作才能查询到)

2024-06-20 22:27:54 759

原创 Java常见集合简述

Java集合类主要由两个根接口和派生出来的,Collection派生出了三个子接口: List、Set、Queue (Java5新增的队列),因此Java集合大致也可分成List、Set、Queue、Map四种接口体系。框架图如下:上图中的绿色代表常用的实现类。

2024-06-19 21:40:38 517 1

原创 2017-2018 ACM-ICPC, Central Europe Regional Contest (CERC 17) J - Justified Jungle(dfs+思维)

题目链接:http://codeforces.com/gym/101620/attachments题意:给一棵树,然后删除几条边,使得所有子树的节点个数相同,输出可以删除的边的个数。思路:如果要删除k条边,就会分出k+1个子树,每个子树的节点数为n/(k+1),所以k+1是n的因子。如果某个节点的子树大小为 n/(k+1)的倍数,那么这个节点与它的父节点连接的边就要删除(保证每一个连通块的...

2020-03-29 23:43:31 293

原创 The 2019 ICPC Asia-East Continent Final-M value

题目:Pang believes that one cannot make an omelet without breaking eggs.For a subset A of {1,2,…,n}, we calculate the score of A as follows:Initialize the score as 0. For any i∈A, add ai to the s...

2020-02-18 20:34:27 623

原创 A/B HDU1576

题目:要求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)(我们给定的A必能被B整除,且gcd(B,9973) = 1)。输入:数据的第一行是一个T,表示有T组数据。每组数据有两个数n(0 <= n < 9973)和B(1 <= B <= 10^9)。输出:对应每组数据输出(A/B)%9973。样例输入:21000 ...

2019-08-28 17:37:39 174

原创 Leftmost Digit HDU1060

题目:Given a positive integer N, you should output the leftmost digit of N^N.输入:The input contains several test cases. The first line of the input is a single integer T which is the number of te...

2019-08-28 16:14:55 220

原创 Factorial HDU1124

题目:The most important part of a GSM network is so called Base Transceiver Station (BTS). These transceivers form the areas called cells (this term gave the name to the cellular phone) and every pho...

2019-08-28 11:06:31 198

原创 Number Sequence HDU1005

题目:A number sequence is defined as follows:f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.Given A, B, and n, you are to calculate the value of f(n).输入:The input consists of...

2019-08-28 10:23:14 170

原创 找新朋友 HDU1286

题目:新年快到了,“猪头帮协会”准备搞一个聚会,已经知道现有会员N人,把会员从1到N编号,其中会长的号码是N号,凡是和会长是老朋友的,那么该会员的号码肯定和N有大于1的公约数,否则都是新朋友,现在会长想知道究竟有几个新朋友?请你编程序帮会长计算出来。输入:第一行是测试数据的组数CN(Case number,1<CN<10000),接着有CN行正整数N(1<n<...

2019-08-27 11:15:05 205

原创 Squarefree number HDU3826

题目:In mathematics, a squarefree number is one which is divisible by no perfect squares, except 1. For example, 10 is square-free but 18 is not, as it is divisible by 9 = 3^2. Now you need to determi...

2019-08-27 10:48:29 246

原创 Max Sum(最大连续和) HDU1003

题目:Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in this sequence is 6 + (-1) + 5 + 4 = 14.输入:Th...

2019-08-26 16:54:09 209

原创 最长公共子序列(LCS) Easy HDU1599

题目:A subsequence of a given sequence is the given sequence with some elements (possible none) left out. Given a sequence X = <x1, x2, ..., xm> another sequence Z = <z1, z2, ..., zk> is a...

2019-08-26 15:58:42 232

原创 最长上升子序列 POJ2533

题目:A numeric sequence ofaiis ordered ifa1<a2< ... <aN. Let the subsequence of the given numeric sequence (a1,a2, ...,aN) be any sequence (ai1,ai2, ...,aiK), where 1 <=i1&l...

2019-08-26 15:31:29 245 1

原创 hd2588_GCD

GCD题目描述:The greatest common divisor GCD(a,b) of two positive integers a and b,sometimes written (a,b),is the largest divisor common to a and b,For example,(1,2)=1,(12,18)=6.(a,b) can be easily foun...

2019-07-29 00:06:28 347

原创 STL——sort

sortAs is known to all, long long ago sailormoon once was an association of fighters. Till now, sailormoon is also an association of girls. Owe to some unknown reasons, girls are necessary to fight f...

2019-05-02 22:44:52 241

原创 数论_hdu3123

GCC题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3123GNU编译器集合(通常缩写为GCC)是由GNU项目生成的编译器系统,支持各种编程语言。 但它不包含数学运算符“!”。在数学中,符号代表阶乘操作。 表达式n! 表示“从1到n的整数乘积”。 例如,4! (读四因子)是4×3×2×1 = 24.(0!定义为1,它是乘法中的中性元素,不乘以任...

2019-04-29 23:51:21 253

原创 数论_hdu1787

GCD Again在一场ACM比赛之后,您是否花了一些时间思考并试图解决那些未解决的问题?没有? 哦,当你想成为一个“大牛”时,你必须这样做。现在你会发现这个问题很熟悉:两个正整数a和b的最大公约数GCD(a,b),有时写成(a,b),是a和b共有的最大除数。 例如,(1,2)= 1,(12,18)= 6。 (a,b)可以通过欧几里德算法轻松找到。 现在我正在考虑一个更难的问题:给定整数...

2019-04-29 23:51:11 224

原创 sort函数

sort函数用于C++中,对给定区间所有元素进行排序。头文件是#include 时间复杂度为n*log2(n),执行效率较高Sort函数有三个参数:(1)第一个是要排序的数组的起始地址。(2)第二个是结束的地址(最后一位要排序的地址的下一地址)(3)第三个参数是排序的方法,可以是从大到小也可是从小到大,还可以不写第三个参数,此时默认的排序方法是从小到大排序。Sort函数使用模板:S...

2019-04-29 23:50:43 317

原创 STL——map

水果夏天来了 ~好开心啊,呵呵,好多好多水果Joe经营着一个不大的水果店.他认为生存之道就是经营最受顾客欢迎的水果.现在他想要一份水果销售情况的明细表,这样Joe就可以很容易掌握所有水果的销售情况了.Input第一行正整数N(0<N<=10)表示有N组测试数据.每组测试数据的第一行是一个整数M(0<M<=100),表示工有M次成功的交易.其后有M行数据,每行表示...

2019-04-29 23:50:12 226

空空如也

空空如也

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

TA关注的人

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