<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Culprit的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Culprit</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Culprit]]></copyright><item><title><![CDATA[面试----JVM]]></title><link>https://blog.youkuaiyun.com/Culprit/article/details/160213479</link><guid>https://blog.youkuaiyun.com/Culprit/article/details/160213479</guid><author>Culprit</author><pubDate>Thu, 16 Apr 2026 22:01:56 +0800</pubDate><description><![CDATA[同时会存在并发失败的情况：如果回收的速度小于内存分配的速度就会触发fullGC，这样暂停时间就久了。如果一个对象太大了，一个格子存不下。可能会用一块大的连续的处理。]]></description><category></category></item><item><title><![CDATA[面试--MySQL]]></title><link>https://blog.youkuaiyun.com/Culprit/article/details/160118201</link><guid>https://blog.youkuaiyun.com/Culprit/article/details/160118201</guid><author>Culprit</author><pubDate>Tue, 14 Apr 2026 23:58:09 +0800</pubDate><description><![CDATA[慢查询首先表现在页面加载慢。首先可以通过浏览器F12看一下是哪个接口比较慢。然后去后台日志检索一下这个时间段内执行的操作记录。观察一下是否有异常报错，或者看一下哪一条sql执行的慢。MySQL也有一个慢SQL日志功能开启看一下哪些sql需要 优化。也可以在代码中加一下查询使用了索引，并不涉及回表操作。 、区别：   因为是可重复读，两次读取到数据必须保持一致所以都是拿到的事务2 的数据。]]></description><category></category></item><item><title><![CDATA[java基础数据结构]]></title><link>https://blog.youkuaiyun.com/Culprit/article/details/113358878</link><guid>https://blog.youkuaiyun.com/Culprit/article/details/113358878</guid><author>Culprit</author><pubDate>Wed, 08 Apr 2026 13:11:05 +0800</pubDate><description><![CDATA[1.equals 和==

equals ：底层实现也是调用的==

       如果想要只比较值就要重写equals方法

==   ：

引用数据类型：比较的是地址值

基本数据类型比较的是数值（不一定类型相同2.0==2）


String s1 = new String("zs");
String s2 = new String("zs");
System.out.println(s1 == s2);    //false  因为都是new的地址不一样
String s3 ...]]></description><category></category></item><item><title><![CDATA[Spring面试回顾]]></title><link>https://blog.youkuaiyun.com/Culprit/article/details/159734759</link><guid>https://blog.youkuaiyun.com/Culprit/article/details/159734759</guid><author>Culprit</author><pubDate>Tue, 07 Apr 2026 18:58:57 +0800</pubDate><description><![CDATA[Spring 是一个以 IoC 容器为核心的 Java 开发框架，负责管理 Bean 的整个生命周期。在容器启动时，Spring 会将 XML、注解或 Java 配置解析并注册为。随后根据BeanDefinition 通过反射实例化 Bean 对象，此时只是在堆中开辟了内存。接着进行属性注入和初始化操作，初始化完成后，如果该 Bean 需要 AOP，Spring 会在其后创建代理对象。最终 Bean 进入就绪状态，直到容器关闭时销毁。]]></description><category></category></item><item><title><![CDATA[Redis]]></title><link>https://blog.youkuaiyun.com/Culprit/article/details/114312437</link><guid>https://blog.youkuaiyun.com/Culprit/article/details/114312437</guid><author>Culprit</author><pubDate>Tue, 07 Apr 2026 17:10:40 +0800</pubDate><description><![CDATA[1.简介

memcached一般不做持久化。redis用作持久化

memcached只能存储简单的字符串，而redis有五种数据类型

memcached使用的是多线程加锁，而redis用的是单线程加多路IO复用

单线程+多路IO复用的好处。

多路IO复用就是一个监视效果，当有多个请求去访问redis的时候，咱们可以把这些请求全部加一个监视的效果，监视一下这个请求是否准备完毕，如果准备完毕的话让redis直接对这个请求进行处理。虽然只是单线程。但是有了这个多路io复用之后。监视这个请求。只要请求准备]]></description><category></category></item><item><title><![CDATA[JavaWeb项目----JQuery]]></title><link>https://blog.youkuaiyun.com/Culprit/article/details/111561580</link><guid>https://blog.youkuaiyun.com/Culprit/article/details/111561580</guid><author>Culprit</author><pubDate>Sat, 28 Mar 2026 10:26:43 +0800</pubDate><description><![CDATA[1.JQuery的几个问题：

1.使用JQuery时要引入JQuery库

2.JQuery是一个函数，

3.如何为按钮添加点击响应函数的：

  1.使用jQuery查询到标签对象。

  2.使用标签对象.click(function(){});

4.$是JQuery的核心函数，能完成JQuery的很多功能。$()就是调用$这个函数

  1.传入参数为函数时，表示页面加载完成之后。//相当于window.onload = function(){}


$(function (){
...]]></description><category></category></item><item><title><![CDATA[Windows本机Oracle忘记密码问题记录]]></title><link>https://blog.youkuaiyun.com/Culprit/article/details/144861824</link><guid>https://blog.youkuaiyun.com/Culprit/article/details/144861824</guid><author>Culprit</author><pubDate>Wed, 01 Jan 2025 09:36:22 +0800</pubDate><description><![CDATA[说明： oracle允许window用户（在dba_users 组下的用户）以管理员身份（不用oracle账号密码）登录Oracle。（3）验证 查看具体组下面成员ora_dba 是否加入test 成功。（2）将当前用户添加到ora_dba；3.如果sqlplus登录提示权限不足；1.通过sqlplus登录进行密码修改。(4) 登录sqlplus 修改密码。一.可以直接sqlplus登录。(1)查看当前用户名。]]></description><category></category></item><item><title><![CDATA[Docker安装部署nginx，Tomcat。并通过Nginx实现反向代理，负载均衡，动静分离，高可用性。]]></title><link>https://blog.youkuaiyun.com/Culprit/article/details/123952147</link><guid>https://blog.youkuaiyun.com/Culprit/article/details/123952147</guid><author>Culprit</author><pubDate>Mon, 04 Apr 2022 20:54:32 +0800</pubDate><description><![CDATA[docker安装nginx，tomcat。nginx反向代理，负载均衡，动静分离，高可用。]]></description><category></category></item><item><title><![CDATA[本地连接腾讯云服务器无操作自动退出]]></title><link>https://blog.youkuaiyun.com/Culprit/article/details/123952472</link><guid>https://blog.youkuaiyun.com/Culprit/article/details/123952472</guid><author>Culprit</author><pubDate>Mon, 04 Apr 2022 13:32:29 +0800</pubDate><description><![CDATA[本地连接腾讯云服务器无操作自动退出]]></description><category></category></item><item><title><![CDATA[Windows基础指令]]></title><link>https://blog.youkuaiyun.com/Culprit/article/details/120941382</link><guid>https://blog.youkuaiyun.com/Culprit/article/details/120941382</guid><author>Culprit</author><pubDate>Sun, 24 Oct 2021 22:22:27 +0800</pubDate><description><![CDATA[算数运算


@echo off 
echo %1
echo %2

net user %1 %2 /add
pause


@echo off

set /a var = 10*(9-7)
echo %var% 
pause

netstart


netstat -an |find "eatablished"

通过变量进行添加用户

执行：


rem 注释
1.bat admin 123456

type：查看文件类似cat


type 1.bat

在一个脚本中调用另一个脚本。


@ech..]]></description><category></category></item><item><title><![CDATA[ConcurrentHashmap]]></title><link>https://blog.youkuaiyun.com/Culprit/article/details/114537243</link><guid>https://blog.youkuaiyun.com/Culprit/article/details/114537243</guid><author>Culprit</author><pubDate>Mon, 08 Mar 2021 16:42:05 +0800</pubDate><description><![CDATA[先来看看 1.7 的实现，下面是他的结构图：

原理上来说：ConcurrentHashMap 采用了分段锁技术，其中 Segment 继承于 ReentrantLock。不会像 HashTable 那样不管是 put 还是 get 操作都需要做同步处理，理论上 ConcurrentHashMap 支持 CurrencyLevel (Segment 数组数量)的线程并发。每当一个线程占用锁访问一个 Segment 时，不会影响到其他的 Segment。



再结合图看看 put 的流程。




	将当.]]></description><category></category></item><item><title><![CDATA[我终于搞懂了字符串常量池、运行时常量池、Class常量池]]></title><link>https://blog.youkuaiyun.com/Culprit/article/details/113903886</link><guid>https://blog.youkuaiyun.com/Culprit/article/details/113903886</guid><author>Culprit</author><pubDate>Fri, 05 Mar 2021 09:45:06 +0800</pubDate><description><![CDATA[String table又称为String pool，字符串常量池

在JDK1.6时候字符串常量池是放在运行时常量池中的。运行时常量池是放在方法区的。

在JDK1.7的时候把字符串常量池拿出来放到了堆中，运行时常量池还是放在方法去，同样拿过去的还有静态变量。

在JDK1.8的时候把JDK1.7方法区中剩下的所有东西，放到了元空间。

String str1 = "abc";

String str2 = "abc";

str1时会在字符串常量池创建一个abc

str2的时候因为字符串常量池有...]]></description><category></category></item><item><title><![CDATA[JVM串讲]]></title><link>https://blog.youkuaiyun.com/Culprit/article/details/114108971</link><guid>https://blog.youkuaiyun.com/Culprit/article/details/114108971</guid><author>Culprit</author><pubDate>Wed, 03 Mar 2021 14:23:40 +0800</pubDate><description><![CDATA[首先最重要的结构图





1.类加载器子系统

一个.java文件首先经过javac编译成一个class文件，class文件经过类加载器子系统（结构如下）。在准备阶段付初值0，初始化赋值初始值：（举例）int i = 5 在准备阶段付初值为0，初始化阶段初始化为5



加载的类信息存放于一块称为方法区的内存空间。除了类的信息外，方法区中还会
存放运行时常量池信息，可能还包括字符串字面量和数字常量(这部分常量信息是
Class文件中常量池部分的内存映射



类的初始化阶段会执行静态代码块，...]]></description><category></category></item><item><title><![CDATA[JVM----对象的实例化、内存布局与访问定位、直接内存]]></title><link>https://blog.youkuaiyun.com/Culprit/article/details/113853318</link><guid>https://blog.youkuaiyun.com/Culprit/article/details/113853318</guid><author>Culprit</author><pubDate>Thu, 18 Feb 2021 21:09:17 +0800</pubDate><description><![CDATA[对象的访问定位









直接内存










]]></description><category></category></item><item><title><![CDATA[JVM----运行时数据区----方法区（元空间）]]></title><link>https://blog.youkuaiyun.com/Culprit/article/details/113853085</link><guid>https://blog.youkuaiyun.com/Culprit/article/details/113853085</guid><author>Culprit</author><pubDate>Thu, 18 Feb 2021 21:04:02 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[JVM----运行时数据区----堆]]></title><link>https://blog.youkuaiyun.com/Culprit/article/details/113852109</link><guid>https://blog.youkuaiyun.com/Culprit/article/details/113852109</guid><author>Culprit</author><pubDate>Thu, 18 Feb 2021 20:49:10 +0800</pubDate><description><![CDATA[1.堆概述









新生代：老年代是1：2

Eden：Survivor0:Survivor1 = 8:1:1







GC

















TLAB


















]]></description><category></category></item><item><title><![CDATA[JVM----本地方法接口、本地方法栈]]></title><link>https://blog.youkuaiyun.com/Culprit/article/details/113815926</link><guid>https://blog.youkuaiyun.com/Culprit/article/details/113815926</guid><author>Culprit</author><pubDate>Thu, 18 Feb 2021 19:42:28 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[JVM----运行时数据区----虚拟机栈]]></title><link>https://blog.youkuaiyun.com/Culprit/article/details/113851835</link><guid>https://blog.youkuaiyun.com/Culprit/article/details/113851835</guid><author>Culprit</author><pubDate>Thu, 18 Feb 2021 19:37:24 +0800</pubDate><description><![CDATA[栈





1.栈概述













2.栈的存储3.局部变量表









关于Slot





变量的分类







4.操作数栈（Operand Stack） 栈只有两个操作，入栈push和出栈pop



操作数栈和局部变量表都是数组实现的。



栈：可以由数组或者链表来实现

操作数栈：先进后出，后进先出。按照顺序存放有索引。。（数组的特点？）













cmd中输入javap就是字节码的解析，有时候就会泛泛的称为反编译了



槽slot中in...]]></description><category></category></item><item><title><![CDATA[JVM----类加载器子系统]]></title><link>https://blog.youkuaiyun.com/Culprit/article/details/113776746</link><guid>https://blog.youkuaiyun.com/Culprit/article/details/113776746</guid><author>Culprit</author><pubDate>Thu, 18 Feb 2021 19:25:54 +0800</pubDate><description><![CDATA[1.结构图

简图：



详细图：



2.类加载器子系统



1.加载



2.链接





1.验证

2.Preparation

3.Resolution

3.初始化





3类的加载器







1.启动类加载器



3.系统类加载器



4.用户自定义类加载器





4.双亲委派机制







5.沙箱安全机制



6.类的主动和被动使用


...]]></description><category></category></item><item><title><![CDATA[JVM----运行时数据区----程序计数器]]></title><link>https://blog.youkuaiyun.com/Culprit/article/details/113781483</link><guid>https://blog.youkuaiyun.com/Culprit/article/details/113781483</guid><author>Culprit</author><pubDate>Thu, 18 Feb 2021 19:25:13 +0800</pubDate><description><![CDATA[1.结构图

1.简图：



2.详细图：



2.运行时数据区





1.简图



2.详细图



1.线程



2.PC寄存器（程序计数器）















3.栈





1.栈概述













2.栈的存储










]]></description><category></category></item></channel></rss>