11 老鼠尼奥

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 16w+

图解DirectByteBuffer中的内存回收机制

概述本文主要通过图,代码简要的解析DirectByteBuffer是如何回收堆外内存的。代码解析实际释放内存的类释放内存的代码是:unsafe.freeMemory(address);其中Deallocator其实是DirectByteBuffer中的内部私有类,address就是指向堆外内存的地址。 private static class Deallocator implements Runnable { private static Unsafe

2020-05-21 13:32:54

隔离级别之可重复读级别解读

初始化SQLCREATE TABLE `users` ( `id` smallint(6) NOT NULL AUTO_INCREMENT, `name` varchar(25) DEFAULT NULL, `age` tinyint(4) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=11 DE...

2018-06-06 18:02:58

动态代理:Cglib代理原理解析

概要cglib源码看了下,总结下自己理解,小结如下:通过继承目标类实现代理代理类:继承了目标类,则在代理类中通过调用父类方法,即调用到了目标类方法。整个代理过程无需强制持有目标类的实例。增强器/拦截器类:实现MethodInterceptor接口的intercept方法,以达成对目标类的代理或者说功能增强(方法参数见下文:增强器/拦截器接口源码)。增强器/拦截器映射器:Callb...

2018-06-06 11:51:26

动态代理:JDK代理原理解析

概要代理模式结构  代理可分为2类对象:   目标类:一个是真正的你要访问的对象,原来的逻辑实现者。   代理类:一个是代理对象,从抽象层看,他包含了原来的逻辑与需要额外增加的代理/增强逻辑。   真正对象与代理对象实现同一个接口(实际上也可能是继承Cglib),先访问代理类再访问真正要访问的对象。   代理模式分为静态代理、动态代理。     静态代理是由程...

2018-06-05 15:57:28

MyBatis中#{}和${}的区别

概要动态 sql 是 mybatis 的主要特性之一,在 mapper 中定义的参数传到 xml 中之后,在查询之前 mybatis 会对其进行动态解析。mybatis 为我们提供了两种支持动态 sql 的语法:#{} 以及 ${}。示例: #{}假设变量:String username='smith';有以下mybatis配置:select * from user w...

2018-05-30 16:50:57

监听器,过滤器,拦截器详解之一:监听器概要

监听器监听器javax.servlet.Listener是servlet规范中定义的一种特殊类。 用于监听ServletContext、HttpSession和ServletRequest等域对象的创建和销毁事件。常见监听器如下应用上下文监听器:javax.servlet.ServletContextListener应用上下文属性监听器:javax.servlet.Servl...

2018-05-23 16:26:34

Http 持久连接与 HttpClient 连接池

reuseStrategy.keepAlive(response, context) <dependency> <groupId>org.apache.httpcomponents</groupId> &a

2018-05-22 18:39:13

Hibernate持久层状态变化

Hibernate里有三种对象状态:临时状态 (Transient)、持久状态(Persistent)、游离状态(Detached)状态表格 状态 对象 是否在session缓存 是否在数据库 当前对象与数据库是否有对应关系 备注 临时状态 (Transient) 临时对象 否 否 否 new一个对象,或者从另外两个状态转换来...

2018-05-22 10:17:46

java基础之-try-catch-finally执行跳转返回逻辑验证

摘要本段代码块主要验证try,catch,finally的执行跳转返回逻辑try返回值,finally只赋值,不返回值 /** * <p> * 如果finally不返回result,只是赋值(i="set in finally"), * 只会修改到栈帧中的局部变量result, * 不会修改到虚拟机栈返回值,此时虚拟机返回值...

2018-05-18 17:42:52

线程生命周期,锁及cpu资源需求

一、线程的生命周期(图)二、线程状态源码public enum State { /** * Thread state for a thread which has not yet started. */ NEW, /** * Thread state for a runnable thread....

2018-05-01 18:12:38

Centos6.5 U盘安装找不到镜像文件的几个问题

按照网上说的教程把iso镜像写到U盘后安装,仍然时不是会有不少问题,特此记录格式问题制作启动盘的U盘格式化时不要选择NTFS格式,否则在进入安装页面,要查找镜像文件路径时,会无法识别。设备路径问题报错截图(之一)原因分析这是因为安装程序未能找到安装文件所致,因为是U盘安装,所以我们需要确定U盘路径。U盘在Centos的挂载路径是/dev/sd[a-p],修改启动设备指向该U盘即可。解决方法找出U盘启

2017-03-22 16:49:41

如何在CentOS 7上修改主机名

在CentOS中,有三种定义的主机名:静态的(static),瞬态的(transient),和灵活的(pretty)。“静态”主机名也称为内核主机名,是系统在启动时从/etc/hostname自动初始化的主机名。“瞬态”主机名是在系统运行时临时分配的主机名,例如,通过DHCP或mDNS服务

2016-09-22 22:46:50

CentOS7更改yum软件源

CentOS7更改yum软件源到国内,可以获得更高的速度。推荐选择中国科技大学的yun源,使用广泛、资源收录全。

2016-09-22 22:44:06

git的ssh连接配置

虽然网上不少讲ssh-keygen配置的,但是感觉比较少讲到了后面的要修改权限的问题。不知道是不是因为这个太基础了!所以在这里写个比较详细的以便自己参与,不用再到处找资料。

2016-02-19 17:26:46

Echarts3模块化包引入时问题报[MODULE_MISS]问题

在用Echarts3模块化包引入时(引入源码),总是会报[module_miss]问题。如下:Uncaught Error: [MODULE_MISS]"zrender/Element" is not exists!t Uncaught Error: [MODULE_MISS]"zrender/container/Group" is not exists!网上找了不少资料,没能解决问题。也可能是

2016-02-16 13:58:59

Centos 使用YUM安装MariaDB

Centos 使用YUM安装MariaDB1、在 /etc/yum.repos.d/ 下建立 MariaDB.repo,内容如下:$cd /etc/yum.repos.d$vi MariaDB.repo# MariaDB 10.0 CentOS repository list - created 2013-08-23 13:08 UTC # http://mariadb.org/mariadb

2016-01-28 16:40:06

远程访问Centos6.5上的mysql或者mariadb

问题背景1 环境物理主机操作系统Centos6.5虚拟主机KVM:centos6.5 64位min版本(虚拟机安装有台)网络:桥接模式2 问题 yum安装mariadb10/mysql6.5后,本地只有root用户能访问,新增的其他用户本地,远程都不能访问。 安装mariadb参考:Centos 使用YUM安装MariaDB解决方案解决新增用户本地无法连接的问题1.输入下面的语

2015-12-16 15:58:07

android permissions

android.permission.ACCESS_CHECKIN_PROPERTIES //允许读写访问”properties”表在checkin数据库中,改值可以修改上传android.permission.ACCESS_COARSE_LOCATION //允许一个程序访问CellID或WiFi热点来获取粗略的位置android.permission.ACCESS_FI

2013-05-08 14:19:49

watir-webdriver不得不说的事(一)

Watir::Container#frames(*args).to_a存在的bug        在做自动化脚本测试,通过@browser.frames(:xpath=>"//*[id='queryFrame']").to_a[0]查找一个iframe元素的时候,居然总是查找出一个不是我期待的iframe元素.一通追踪,终于发现上面的语句最终会等价于@browser.ifram

2013-04-20 11:34:57

在Linux下编译Windows版本的adb和fastboot

环境:Fedora 17 64位android:4.0.11.到android源代码目录2. 执行:# . build/envsetup.sh3. 执行# choosecombo选择各个参数。这两步设置了一些编译参数和环境变量,按照你正常编译android的设置即可。4.如果是第一次编译,需要先编译Linux下的adb版本,否则到第5步

2013-01-25 09:51:35

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。