96SEO 2026-02-19 11:10 7
动态代理机制Java并发线程volatilesynchronized线程池JVM类加载机制垃圾回收GC1.

垃圾收集器内存回收具体实现**Serial****ParNew****Parallel
Old****CMS****G1**Garbage-First设计模式单例模式MySQL存储引擎索引1.
的差异Redis为什么用redis做mysql缓存缓存读写策略1.
异步缓存写入数据结构计算机网络HTTP与HTTPS三次握手建立TCP连接四次挥手断开TCP连接TCP
Subject负责存储与修改当前用户的信息和状态SecurityManager安全相关的操作实际上是由她管理的Realms负责从数据源中获取数据并加工后传给
Au***ntication认证Authorization授权Session
中的一个关键字翻译成中文是同步的意思主要解决的是多个线程之间访问资源的同步性可以保证被它修饰的方法或者代码块在任意时刻只能有一个线程执行。
类加载器通过类的全限定性类名带包路径如java.lang.String获取该类的二进制字节流
Bootstrap加载java核心库(如$JAVA_HOME/jre/lib/rt.jar)
Extension加载拓展库$JAVA_HOME/jre/lib/ext/*.jarAppClass根据java的类路径加载类一般的java应用的类$CLASSPATH用户自定义
收到类加载请求不会自己加载而是逐级向上委托最终到达顶层的Bootstrap如果父类加载器完成则返回否则交给子类尝试。
避免类的重复加载java类由于加载机制形成了优先级的层次关系防止核心类被篡改防止下层的同名类篡改核心API库
意义由于类加载器受到加载范围的限制某些情况下父类加载器无法加载需要的类不属于其加载范围但根据机制只能其加载所以需要子类加载器加载。
方法使用自定义加载器如何
1、找到ClassLoader类的loadClass()方法拷贝2、写自定义加载器类粘贴3、删去loadClass()中的双亲委派机制的部分4、判断类是否为系统类是的话使用双亲委派机制否则自己的方法加载。
TomcatwebappClassLoader加载自己目录下的class文件目的1、隔离每个webapp下的class和lib2、使用单独的加载器以免被恶意破坏3、热部署修改文件不用重启自动重新装载
1、虚拟机栈中的栈帧中的局部变量所引用的对象2、java本地方法栈中java本地接口引用的对象3、方法区中静态变量引用的对象全局对象4、方法区中常量引用的对象全局对象
漏报将已被访问过的对象设置为未被访问过。
影响较大可能会使引用对象被GC导致jvm崩溃。
解决方法Stop-***-world等所有线程到达安全点再进行Stop-***-world。
场景对应用的实时性要求不高的client级别桌面应用的默认方式单核服务器
与ParNew不同点追求和精确控制高吞吐量而ParNew尽可能缩短用户线程的停顿时间
垃圾回收时间例子PS就是100秒回收一次垃圾持续10秒吞吐量为90%PN就是50秒回收一次垃圾持续7秒吞吐量为86%。
Roots直接关联的对象需要Stw2、并发标记与用户线程并发不需要Stw执行Gc
Tracing3、重新标记修正并发标记期间发生变动的一些标记需要Stw4、并发清除标记清除
对CPU资源敏感标记清除产生空间碎片并发清除过程中会产生新的垃圾只能等下一次
并行与并发分代收集自己采用不同的收集方式去处理不同代的垃圾不需要和其他收集器合作空间整合无空间碎片可预测的停顿可预测时间的停顿模型
将java堆分为大小相同的独立区域Region新生代和老年代区域混合
并发标记知道哪些块基本是垃圾就会从这些块下手所以叫G1停顿预测模型
根据之前垃圾回收的数据统计估计出用户指定停顿时间内的回收块个数
复制算法、并行、stw动态调整年轻区大小根据历史数据和用户指定的停顿时间目标2、老年代收集初始标记stw伴随young
Roots直接关联对象进行标记扫描根引用区即survivor区的对象直接到老年代对象的引用。
因为进行了YGC新生代中只有survivor区存在对象并发标记寻找整个堆的存活对象并发执行可以被YGC中断
如果整个region都是垃圾直接被回收标记的同时计算region活性比例
由于用户线程同时进行需要修正之前的标记采用了比CMS更快的初始快照法SATB算法
清理stw复制算法。
计算各个region的存活对象和垃圾比例排序识别可以混合回收的区域
。
并发清理识别并清理全是垃圾的老年代region3、混合式收集除了整个年轻代收集
还有上个阶段标记出的老年代的垃圾最多的区块持续回收所有被标记的分区恢复到年轻代收集进行新的周期必要时的Full
checksynchornized(Singleton.class){if(instance
Singleton(){}/***枚举类型是线程安全的并且只会装载一次*/public
instance;SingletonEnum(){instance
SingletonEnum.INSTANCE.getInstance();}
插件式架构支持多种存储引擎不同数据库表可以设置不同搜索引擎存储引擎是基于表的而不是数据库
性能还行特性不错但不支持事务和行级锁最大的缺陷就是崩溃后无法安全恢复。
这也是创建索引的最主要的原因。
通过创建唯一性索引可以保证数据库表中每一行数据的唯一性。
创建索引和维护索引需要耗费许多时间。
当对表中的数据进行增删改的时候如果数据有索引那么索引也需要动态的修改会降低
小的叶子节点就够了哈希还要把1-499数据hash计算一遍来定位
事务是最小的执行单位不允许分割。
事务的原子性确保动作要么全部完成要么完全不起作用
执行事务前后数据保持一致例如转账业务中无论事务是否成功转账者和收款人的总额应该是不变的
并发访问数据库时一个用户的事务不被其他事务所干扰各并发事务之间数据库是独立的
一个事务被提交之后。
它对数据库中数据的改变是持久的即使数据库发生故障也不应该对其有任何影响。
只有保证了事务的持久性、原子性、隔离性之后一致性才能得到保障。
也就是说
某个事务已更新一份数据另一个事务在此时读取了同一份数据由于某些原因前一个RollBack了操作则后一个事务所读取的数据就会是不正确的
在一个事务读取一个数据时另外一个事务也访问了该数据那么在第一个事务中修改了这个数据后第二个事务也修改了这个数据。
这样第一个事务内的修改结果就被丢失因此称为丢失修改。
在一个事务的两次查询之中数据不一致这可能是两次查询过程中间插入了一个事务更新的原有的数据。
在一个事务的两次查询中数据笔数不一致例如有一个事务查询了几列(Row)数据而另一个事务却在此时插入了新的几列数据先前的事务在接下来的查询中就会发现有几列数据是它先前所没有的。
又称读锁事务在读取记录的时候获取共享锁允许多个事务同时获取锁兼容。
排他锁X
又称写锁/独占锁事务在修改记录的时候获取排他锁不允许多个事务同时获取。
如果一个记录已经被加了排他锁那其他事务不能再对这条记录加任何类型的锁锁不兼容。
最低的隔离级别允许读取尚未提交的数据变更可能会导致脏读、幻读或不可重复读。
允许读取并发事务已经提交的数据可以阻止脏读但是幻读或不可重复读仍有可能发生。
对同一字段的多次读取结果都是一致的除非数据是被本身事务自己所修改可以阻止脏读和不可重复读但幻读仍有可能发生。
的隔离级别。
所有的事务依次逐个执行这样事务之间就完全不可能产生干扰也就是说该级别可以防止脏读、不可重复读以及幻读。
MySQL从硬盘读取慢。
将用户缓存数据存在redis中下次直接从缓存获取相当于直接操作内存。
为啥这么快
基于内存访问速度是磁盘的上千倍基于reactor模式设计开发了一套高效事件处理模型主要是单线程事件循环和io多路复用内置多种优化后的数据结构实现
String字符串、List列表、Set集合、Hash散列、Zset有序集合。
是明文传输存在安全风险的问题HTTPS加密传输连接方式HTTP是TCPHTTPS是TCP基础上进行SSL/TLS端口号不同HTTP
信息加密交互信息无法被窃取但你的号会因为「自身忘记」账号而没。
校验机制无法篡改通信内容篡改了就不能正常显示但百度「竞价排名」依然可以搜索垃圾广告。
身份证书证明淘宝是真的淘宝网但你的钱还是会因为「剁手」而没。
标志的数据包-服务端用来关闭客户端到服务器的数据传送。
然后客户端进入
。
然后此时服务端进入CLOSE-WAIT状态客户端进入FIN-WAIT-2状态。
(SEQy)标志的数据包-客户端请求关闭连接然后服务端进入LAST-ACK状态。
(SEQy1)标志的数据包-服务端并且进入TIME-WAIT状态服务端在收到
后依然没有收到回复就证明服务端已正常关闭随后客户端也可以关闭连接了。
用于对传输准确性要求特别高的场景比如文件传输、发送和接收邮件、远程登录等等。
Programming:面向切面编程)能够将那些与业务无关却为业务模块所共同调用的逻辑或责任例如事务处理、日志管理、权限控制等封装起来便于减少系统的重复代码降低模块间的耦合度并有利于未来的可拓展性和可维护性。
多源异构数据集数据类型是什么机器学习算法怎么实现的用了哪些特征评估指标是啥准确率r2的含义是什么
R2_score直观且不受量纲影响。
其数值大小反映了回归贡献的相对程度即在因变量Y的总变异中回归关系所能解释的百分比其值越高说明模型的解释性越好。
平均绝对误差、均方误差、均方根差、均方根百分误差、决定系数R2前四种问题量纲不同时难以衡量模型效果好坏并且可读性较差
训练集和测试集怎么划分的为什么这么划分这么划分结果最好为什么其他划分方式结果不好有分析吗训练集测试集划分比例有什么影响过拟合是什么意思个人能力比较突出的是什么华融实习都是自己做的吗遇到过什么问题怎么解决印象比较深花时间比较多的提到了版本不一致报错java遇到版本不一样问题怎么办a库和b库都用到了c库
add0;while(l1!null||l2!null||add0){int
ListNode(ans%10);addans/10;pp.next;if(l1!null)l1l1.next;if(l2!null)l2l2.next;}return
创建Web程序时Spring-导入几个Maven依赖Spring
Boot-只需要一个Maven依赖开启功能Spring-XML文件配置Spring
Boot是一个微服务框架延续了Spring框架的核心思想IOC和AOP简化了应用的开发和部署是Spring的完善和扩展
userbookcategory图书类别admin_role用户角色admin_permission用户权限admin_role_menu用户角色菜单admin_role_permission用户角色权限book表idcovertitleauthordatepressabscid类别做外键
redis缓存是所有图书都存进去吗数据库组建怎么实现的mysql中事务是怎么添加的
transaction;可选的步骤2编写事务中的sql语句(select、insert、update、delete)
一个mapper两个update怎么保证事务不冲突答锁纠正我锁是保证数据一致性的
加载类加载时初始化加载完成可修饰内部类、方法、成员变量、代码块不可修饰外部类、局部变量作用方便调用没有创建对象的方法/变量
加载final可以在编译类加载时初始化也可以在运行时初始化初始化后不能被改变可修饰成员变量、方法、类以及本地变量一旦你将引用声明作
成员变量属于类的变量且只能赋值一次。
方法属于类的方法且不可以被重写。
内部类属于外部类且不能被继承。
Object常用hashCode()和equals()什么时候需要重写
1当我们需要重新定义两个对象是否相等的条件时需要进行重写。
比如通常情况下我们认为两个不同对象的某些属性值相同时就认为这两个对象是相同的。
例如我们在HashMap中添加元素时我们认为当key相同时两个元素就相同但是默认的Object中的equals(),只是单纯的比较两个元素
2当我们自定义一个类时想要把它的实例保存在集合时就需要重写equals()和hashCode()方法
jdk1.8之前数组链表链表散列jdk1.8之后链表长度阈值(默认8)将其转化为红黑树减少搜索时间
双指针初始时两个指针分别指向两个数组的头部。
每次比较两个指针指向的两个数组中的数字如果两个数字不相等则将指向较小数字的指针右移一位如果两个数字相等且该数字不等于
变量同时将两个指针都右移一位。
当至少有一个指针超出数组范围时遍历结束。
从哪些维度对数据进行挖掘得到什么样的结果哪些对算法模型有决定性作用系统开发后端是不是增删改查这些用的什么数据库
互斥同步synchronized是最常用的非阻塞同步无同步方案
悲观锁用什么实现答synchronized和ReentrantLock
java为什么会存在线程安全的问题底层原因是什么答并发跟我说是表象问更深层是什么原因
java本身jvm或者内存什么样的设计特点决定它存在这样的问题答线程共享堆和方法区资源同时修改会发生安全问题他还问更深层的是什么
了解java内存模型吗新增一个线程线程里的变量存在于什么地方答栈
这个栈空间是共享的还是独享的答共享的纠正我有一部分共享一部分独享共享function独享变量
变量独享做复制拷贝到工作内存更改完需要回刷产生XXx操作是问题的根本原因
ConcurrentHashMap的源码了解答了一下初始化源码
索引结构答b树b树特点b树每一层都是链表我说只有叶子是纠正我mysql不是标准b树是变种查询语句建索引abc三个字段有一条语句“a,c”“”是占位符这个语句能不能用到abc复合索引答能问原因不会
答spring用xmlsb用配置类纠正Spring也可以用注解不用xml配置动态加载和用不用配置没啥关系
悲观锁用什么实现答synchronized和ReentrantLock
java为什么会存在线程安全的问题底层原因是什么答并发跟我说是表象问更深层是什么原因
java本身jvm或者内存什么样的设计特点决定它存在这样的问题答线程共享堆和方法区资源同时修改会发生安全问题他还问更深层的是什么
了解java内存模型吗新增一个线程线程里的变量存在于什么地方答栈
这个栈空间是共享的还是独享的答共享的纠正我有一部分共享一部分独享共享function独享变量
变量独享做复制拷贝到工作内存更改完需要回刷产生XXx操作是问题的根本原因
ConcurrentHashMap的源码了解答了一下初始化源码
索引结构答b树b树特点b树每一层都是链表我说只有叶子是纠正我mysql不是标准b树是变种查询语句建索引abc三个字段有一条语句“a,c”“”是占位符这个语句能不能用到abc复合索引答能问原因不会
答spring用xmlsb用配置类纠正Spring也可以用注解不用xml配置动态加载和用不用配置没啥关系
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback