- 博客(12)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 mysql innodb事务的实现
一.什么是事务 首先简单说下什么是事务,事务就是具有原子性,一致性,隔离性,持久性的一组数据库操作。 如下图的sql语句即为事务。mysql默认自动提交事务,所以一条语句就是一个事务。也可以手动写begin和commit,在这之间的sql语句同属于一个事务。二.原子性的实现 原子性比较容易理解,同一个事务的所有操作,要么都成功执行,要么都不执行,如下图。 要实...
2019-05-04 20:51:19
1661
3
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 字节跳动 后台实习三面面经
先说一下我的情况,国内top10 小硕,成绩中等,半年小厂实习经验,主要用的语言是java。总共是一轮电话面和三轮视频面,三轮视频面原本打算一天面完,当时二面面的不是很好,而且面完也没有让我进行下一轮面试,当时就以为已经凉了,都开始自抱自泣了。没想到后面hr竟然来和我约三面时间,说是那天三面面试官有事没法面试,当时很震惊。三面面完当晚就收到了hr的口头offer,头条效率还是很高的。一...
2019-01-13 10:23:09
12288
6
原创 美团秋招java三面面经
前几天刚完成美团秋招java的三轮视频面试,现在写下面经复盘下,顺便许愿美团offer。一面 40分钟当天下午刚投的简历,晚上美团面试官就打电话过来约视频面试了,感觉有点小惊喜(其他几家居然还要笔试。。。)。约好了第二天晚上7点在牛客网上视频面试,面试官非常准时,然后就开始了面试。一面问的还是比较基础,没有很难的问题,基础ok的话应该都能过。简单介绍了一下项目能说一下redis有哪...
2019-09-13 21:35:57
639
原创 五、类加载之解析阶段
解析阶段就是要把类常量池中类,字段,方法的符号引用转成可以使用的直接引用。例如一个类的解析就是通过类名查找类,并保存这个类的class对象的引用,有了class对象的直接引用才能使用这个类。虚拟机规范并没有规定符号引用的解析在何时执行,只要在使用之前解析完成就行。我这里实现是把静态解析放在了类加载的时候,方法动态链接放在运行时,如果像书中一样都放在运行时解析也是可以的。静态链接方法如下,遍历类...
2019-09-11 11:55:51
762
原创 四、类加载之准备阶段
前面已经把类文件加载了出来,并且将字节流转化成了易用的数据结构,下面就是类的验证和准备阶段了。验证阶段在书中忽略了,所以这里只包括准备阶段。准备阶段主要是给类变量分配空间,赋上默认值,static final变量赋上初始值。如下所示,用slot数组保存静态变量。type Class struct { 。。。 staticSlotCount uint staticVars ...
2019-08-31 10:10:47
503
原创 三、类加载之class文件的解析
类加载的几个阶段中,在读取类文件之后,就是类文件的解析阶段。本文讲的只是将类文件解析成结构化的形式,类解析阶段的另一部分--字段和方法的静态链接放到后面再讲。使用ClassFile来定义class 文件的格式,具体属性如下。class文件都以魔数CAFEBABE开头,用以标识这是一个class文件。还有类的访问控制,类名,父类名以及类的方法和类的属性等。constantPool保存了类的所有字...
2019-08-26 10:27:27
809
原创 Thrift协议
一.Thrift是什么 thrift是一种rpc常用的通信协议,它使用idl定义rpc方法和数据结构,使用thrift编译器根据idl定义生成不同语言的客户端代码和服务端代码,由这些生成的代码实现远程方法的调用和调用参数的解析。二.idl的作用 使用thrift协议开发rpc方法之前,需要先定义好方法的idl文件。idl严格定义了方法的出参和入参,因为调用方代码和被调用方的...
2019-05-04 19:41:28
6959
原创 二、类加载之class文件的读取
获取到命令行参数之后,可以开始启动jvm了。启动jvm的第一步就是用类加载器加载main方法所在的类,这样才能开始执行main方法。本章主要说的就是类加载的第一步:class文件的读取,而读到class文件之后如何解析将在下一章介绍。为了保证java类库的安全性,java类加载器需要遵循双亲委派原则。也就是说有三个主要的类加载器: 1.bootstrap类加载器,加载的是/jre/li...
2019-02-02 20:38:22
1971
原创 一、解析命令行参数
本章实现的是使用命令行java命令启动java虚拟机,运行java应用,对传入的参数进行解析。参数主要包括java应用的路径(也就是classpath),main方法所在的类路径,jre路径。 cmd.go使用go的flag类库对参数进行解析,参数格式Usage: %s [-options] class [args...]func readCmd() *Cmd { cmd:...
2019-02-02 13:00:41
568
1
原创 Android使用httpclient访问http
安卓不允许在主线程进行http请求,所以需要先使用AsyncTask实现异步任务。public class HttpPostTask extends AsyncTask,Integer,String> { @Override protected String doInBackground(String... params) { return get(par
2017-06-25 22:42:51
399
原创 安卓平台下使用bootstrap
之前在web下已经习惯了使用bootstrap,轻易就可以调出不错的样式,后来发现原来安卓平台下也可以用bootstrap,所以用bootstrap写了一个小demo 首先需要引入依赖包 然后需要覆盖application类,bootstrap需要通过这个类注册icon然后就可以开始使用bootstrap了,用法和web端很类似。详细的请看文档https://gi
2017-06-11 22:01:40
967
1
原创 ArrayList与linkedlist插入效率分析
网上有很多比较ArrayList和LinkedList的文章,基本上都认为ArrayList是用数组实现,而LinkedList用链表实现,所以ArrayList查询效率高,LinkedList插入效率高,但是事实真的是这样吗?比较他们的使用效率之前,先看看ArrayList与LinkeLlist的底层数据结构。/** * The array buffer in
2017-05-23 22:20:50
1177
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人