大厂首发!java哨兵模式的作用
引言做了5年开发的我,阿里一直是我心之所向,如今我如愿以偿进入了国内互联网巨头——Alibaba!其实,今年下半年我面试不少互联网企业,像涂鸦智能,百度,京东,腾讯,字节,滴滴,阿里等等都有三井的身影,之后总结出来的针对Java面试的知识点或真题,每个点或题目都是在面试中被问过的,满满干货,诚意分享!由于整理成了文档,总结的内容比较多,希望大家都能领取一份
Wesley13 Wesley13
3年前
java 源码编译
Java语言的“编译期”其实是一段“不确定”的操作过程,因为它可能是指一个前端编译器(叫“编译器的前段”更准确)——把\.java文件转变成\.class文件的过程;也可能是虚拟机的后端运行期编译器(JIT)把字节码转变成机器码的过程;还可能是指静态提前编译器(AOT编译器)直接把\.java文件编译成本地机器码的过程。Javac编译器
Wesley13 Wesley13
3年前
C# 篇基础知识7——字符串
文字是信息的主要表达方式,因此文字处理是计算机的一项重要功能之一。现在来深入研究C中字符串的各种特性、正则表达式的基本概念以及如何用正则表达式进行文本匹配。1.char结构C中的字符用System命名空间中的Char结构实现,每个Char占用2字节空间,用于存储字符的Unicode编码。C专门设计了char关键字用来声明字符变量,cha
Wesley13 Wesley13
3年前
DLL 函数中使用结构体指针作函数参数(C# 调用 C++ 的 DLL)
存在的问题:问题1:C与C同样定义的结构体在内存布局上有时并不一致;问题2:C中引入了垃圾自动回收机制,其垃圾回收器可能会重新定位指针所指向的结构体变量。解决方案:问题1方案:强制指定C、C结构体的内存布局,使其一致(两者都固定为:结构体的成员按其声明时出现的顺序依次布局,结构体成员的内存对齐为1字节对齐);为题
Wesley13 Wesley13
3年前
MySQL之索引(四)
压缩索引MyISAM使用前缀压缩来减少索引的大小,从而让更多的索引可以放入内存中,这在某些情况下能极大地提高性能。默认只压缩字符串,但通过参数设置也可以对整数做压缩。MyISAM压缩每个索引块的方法是,先完全保存索引块中的第一个值,然后将其他值和第一个值进行比较得到相同前缀的字节数和剩余的不同后缀部分,把这部分存储起来即可。例如,索引块中的第
Stella981 Stella981
3年前
JVM技术总结
1.程序计数器:记录正在执行的虚拟机的字节码的指令地址。2.java虚拟机栈:每个Java方法在执行的同时会创建一个栈帧用于存储局部变量表、操作数栈、动态链接、方法出口等信息。每一个方法从调用直至执行完成的过程,就对应着一个栈帧在Java虚拟机栈中入栈和出栈的过程。该区域可能抛出以下异常:1.当线程请求的栈深度超过最大值,会抛出
可莉 可莉
3年前
2019年Java学习之
我们在写java程序的时候,为了进行优化,把全部的精力用在了处理效率上,但是对IO的关注却很少。这也可能是由以前java早期时JVM在解释字节码时速度慢,运行速率大大低于本地编译代码,因此以前往往忽视了IO的优化。但是现在JVM在运行时优化已前进了一大步,现在的java应用程序更多的是受IO的束缚,也就是将时间花在等待数据传输上。现在有了NIO,就可以减
Wesley13 Wesley13
3年前
MySQL分割一行为多行的思路
最近数据分析有需求,分析运营活动短信用户,但是发送短信的用户是通过JSON字符串数组存储在一个text字段的。内容类似于:"user1","user2","user3"....数据分析想分析这些用户,那么就需要in这些用户查询。自己手动拼SQL太蛋疼,而且好几万几十万的用户,拼成SQL,复制粘贴也够蛋疼的。那
Wesley13 Wesley13
3年前
C#中实现累加校验和计算和校验
为建立中文知识库加块砖       ——中科大胡不归0\.前言如果必须加入一种方法来校验协议数据,累加校验不失为一种好的方案。MD5计算出的Hash太长了,校验和不过1或2个字节,当然MD5的安全性也不是校验和能比的。1\.校验和原理1.1发送方生成检验和1.将发送的进行检验和运算的数据分成若干个16位
Wesley13 Wesley13
3年前
Java类文件结构
代码编译的结果从本地机器码转变为字节码(ByteCode),是存储格式发展的一小步,却是编程语言发展的一大步。存储格式发展:  今天的计算机仍然只能识别0和1,但将我们编写的程序编译成二进制本地机器码(NativeCode)已不再是唯一的选择,越来越多的程序语言选择了与操作系统和机器指令集无关的、平台中立的格