<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Never too late!]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wakeupwakeup</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wakeupwakeup]]></copyright><item><title><![CDATA[秒懂Java动态编程（Javassist研究）]]></title><link>https://blog.youkuaiyun.com/wakeupwakeup/article/details/101530298</link><guid>https://blog.youkuaiyun.com/wakeupwakeup/article/details/101530298</guid><author>wakeupwakeup</author><pubDate>Fri, 27 Sep 2019 13:45:56 +0800</pubDate><description><![CDATA[概述
什么是动态编程
反射
动态编译
调用JavaScript引擎
动态生成字节码
动态编程解决什么问题
Java中如何使用
Javassit使用方法
动态生成一个类
动态添加构造函数及方法
动态修改方法体
什么原理
总结
概述

什么是动态编程？动态编程解决什么问题？Java中如何使用？什么原理？如何改进？（需要我们一起探索，由于自己也是比较菜，一般深入不到这个程度）。

什么是动态编程

动态...]]></description><category></category></item><item><title><![CDATA[Hibernate JPA创建表使用innodb]]></title><link>https://blog.youkuaiyun.com/wakeupwakeup/article/details/100577787</link><guid>https://blog.youkuaiyun.com/wakeupwakeup/article/details/100577787</guid><author>wakeupwakeup</author><pubDate>Fri, 06 Sep 2019 13:40:18 +0800</pubDate><description><![CDATA[如果在persist.xml中 dialect 使用 org.hibernate.dialect.MySQL5Dialect，那么创建表默认使用Myisam；

要改为默认使用innodb，dialect 使用org.hibernate.dialect.MySQL5InnoDBDialect。

另外注意，Myisam不支持外键约束。
...]]></description><category></category></item><item><title><![CDATA[MYSQL的SQL性能优化总结]]></title><link>https://blog.youkuaiyun.com/wakeupwakeup/article/details/100118216</link><guid>https://blog.youkuaiyun.com/wakeupwakeup/article/details/100118216</guid><author>wakeupwakeup</author><pubDate>Wed, 28 Aug 2019 14:08:38 +0800</pubDate><description><![CDATA[很多时候，我们的程序出现的“性能问题”，其实是我们自己写的那"坨"代码的问题，是自己Coding的问题，是Mysql的DML语句使用的问题。
以下是我总结的关于MySQL DML语句的使用中需要注意的点。

对于select *要时刻保持谨慎的态度

绝大多数情况，是不需要select *的。一旦使用了这种语句，便会让优化器无法完成索引覆盖扫描这类优化，而且还会增加额外的I/O、内存和CPU的消耗...]]></description><category></category></item><item><title><![CDATA[数据库Sharding的基本思想和切分策略]]></title><link>https://blog.youkuaiyun.com/wakeupwakeup/article/details/100098250</link><guid>https://blog.youkuaiyun.com/wakeupwakeup/article/details/100098250</guid><author>wakeupwakeup</author><pubDate>Tue, 27 Aug 2019 14:01:23 +0800</pubDate><description><![CDATA[本文着重介绍sharding的基本思想和理论上的切分策略，关于更加细致的实施策略和参考事例请参考我的另一篇博文：数据库分库分表(sharding)系列(一) 拆分实施策略和示例演示


一、基本思想

Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上，从而缓解单一数据库的性能问题。不太严格的讲，对于海量数据的数据库，如果是因为表多而数据多，这...]]></description><category></category></item><item><title><![CDATA[分库分表需要考虑的问题及方案]]></title><link>https://blog.youkuaiyun.com/wakeupwakeup/article/details/100098203</link><guid>https://blog.youkuaiyun.com/wakeupwakeup/article/details/100098203</guid><author>wakeupwakeup</author><pubDate>Tue, 27 Aug 2019 13:58:13 +0800</pubDate><description><![CDATA[分库分表的基本思想


Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上，从而缓解单一数据库的性能问题。不太严格的讲，对于海量数据的数据库，如果是因为表多而数据多，这时候适合使用垂直切分，即把关系紧密（比如同一模块）的表切分出来放在一个server上。如果表并不多，但每张表的数据非常多，这时候适合水平切分，即把表的数据按某种规则（比如按ID散列）切分到多个...]]></description><category></category></item><item><title><![CDATA[MySQL readview]]></title><link>https://blog.youkuaiyun.com/wakeupwakeup/article/details/99450591</link><guid>https://blog.youkuaiyun.com/wakeupwakeup/article/details/99450591</guid><author>wakeupwakeup</author><pubDate>Tue, 13 Aug 2019 17:05:21 +0800</pubDate><description><![CDATA[建议阅读：https://yq.aliyun.com/articles/560506
]]></description><category></category></item><item><title><![CDATA[InnoDB MVCC实现原理及源码解析]]></title><link>https://blog.youkuaiyun.com/wakeupwakeup/article/details/99315554</link><guid>https://blog.youkuaiyun.com/wakeupwakeup/article/details/99315554</guid><author>wakeupwakeup</author><pubDate>Mon, 12 Aug 2019 17:28:52 +0800</pubDate><description><![CDATA[1、原理介绍

数据多版本(MVCC)是MySQL实现高性能的一个主要的一个主要方式，通过对普通的SELECT不加锁，直接利用MVCC读取指版本的值，避免了对数据重复加锁的过程。InnoDB支持MVCC多版本，其中RC和RR隔离级别是利用consistent read view方式支持的，即在某个时刻对事物系统打快照记下所有活跃读写事务ID，之后读操作根据事务ID与快照中的事务ID进行比较，判断可...]]></description><category></category></item><item><title><![CDATA[InnoDB MVCC]]></title><link>https://blog.youkuaiyun.com/wakeupwakeup/article/details/99314186</link><guid>https://blog.youkuaiyun.com/wakeupwakeup/article/details/99314186</guid><author>wakeupwakeup</author><pubDate>Mon, 12 Aug 2019 17:14:31 +0800</pubDate><description><![CDATA[InnoDBis amulti-versioned storage engine: it keeps information about old versions of changed rows, to support transactional features such as concurrency androllback. This information is stored in t...]]></description><category></category></item><item><title><![CDATA[MySQL SQL优化之覆盖索引]]></title><link>https://blog.youkuaiyun.com/wakeupwakeup/article/details/99290951</link><guid>https://blog.youkuaiyun.com/wakeupwakeup/article/details/99290951</guid><author>wakeupwakeup</author><pubDate>Mon, 12 Aug 2019 10:38:52 +0800</pubDate><description><![CDATA[前些天，有个同事跟我说：“我写了个SQL，SQL很简单，但是查询速度很慢，并且针对查询条件创建了索引，然而索引却不起作用，你帮我看看有没有办法优化？”。

我对他提供的case进行了优化，并将优化过程整理了下来。



我们先来看看优化前的表结构、数据量、SQL、执行计划、执行时间等。

1. 表结构：


CREATE TABLE `t_order` (
  `id` bigint(20) u...]]></description><category></category></item><item><title><![CDATA[mysql  explain结果中Type的含义]]></title><link>https://blog.youkuaiyun.com/wakeupwakeup/article/details/98870613</link><guid>https://blog.youkuaiyun.com/wakeupwakeup/article/details/98870613</guid><author>wakeupwakeup</author><pubDate>Thu, 08 Aug 2019 14:39:57 +0800</pubDate><description><![CDATA[摘自：https://dev.mysql.com/doc/workbench/en/wb-performance-explain.html

Table7.1Visual Explain Diagram Information

System Name
			Color
			Text on Visual Diagram
			Tooltip related information
		SYS...]]></description><category></category></item><item><title><![CDATA[MySQL联接查询算法（NLJ、BNL、BKA、HashJoin）]]></title><link>https://blog.youkuaiyun.com/wakeupwakeup/article/details/98757148</link><guid>https://blog.youkuaiyun.com/wakeupwakeup/article/details/98757148</guid><author>wakeupwakeup</author><pubDate>Wed, 07 Aug 2019 16:20:28 +0800</pubDate><description><![CDATA[一、联接过程介绍

为了后面一些测试案例，我们事先创建了两张表，表数据如下：


CREATE TABLE t1 (m1 int, n1 char(1));
CREATE TABLE t2 (m2 int, n2 char(1));
INSERT INTO t1 VALUES(1, 'a'), (2, 'b'), (3, 'c');
INSERT INTO t2 VALUES(2, 'b'), (...]]></description><category></category></item><item><title><![CDATA[ubuntu下使用QtCreator调试hotspot源码]]></title><link>https://blog.youkuaiyun.com/wakeupwakeup/article/details/51969251</link><guid>https://blog.youkuaiyun.com/wakeupwakeup/article/details/51969251</guid><author>wakeupwakeup</author><pubDate>Wed, 20 Jul 2016 16:26:00 +0800</pubDate><description><![CDATA[首先你需要学习如何使用openjdk7的源码中的makefile来编译hotspot虚拟机。
这个过程如何操作就省略了。《深入理解java虚拟机》一书及网上均有很多教程。


现在假设你已经完成了这一步骤，并生成了debug版本的hotspot虚拟机。


首先我们使用QtCreator新建一个Plain C++ Project。
新建完后添加hotspot的源码，这个有点麻烦，需]]></description><category></category></item><item><title><![CDATA[虚拟机增加磁盘大小]]></title><link>https://blog.youkuaiyun.com/wakeupwakeup/article/details/51966311</link><guid>https://blog.youkuaiyun.com/wakeupwakeup/article/details/51966311</guid><author>wakeupwakeup</author><pubDate>Wed, 20 Jul 2016 10:59:48 +0800</pubDate><description><![CDATA[我用的是VMware workstation 10。
首先现在vmware中增加磁盘空间大小。
点击虚拟机-》设置-》硬盘-》实用工具。。。


这样增加了之后只是增加了实际可用的空间，但是在虚拟机中的系统的分区大小是没改变的。


我安装的虚拟机为ubuntu 12.04， 没有分区。。。
要扩展/dev/sda1，要使用分区修改工具：gparted（http://ja]]></description><category></category></item><item><title><![CDATA[Ubuntu 12.04 下编译OpenJDK 7问题]]></title><link>https://blog.youkuaiyun.com/wakeupwakeup/article/details/51953429</link><guid>https://blog.youkuaiyun.com/wakeupwakeup/article/details/51953429</guid><author>wakeupwakeup</author><pubDate>Tue, 19 Jul 2016 10:23:14 +0800</pubDate><description><![CDATA[刚开始选择在Windows的Cygwin下编译，结果问题连连，两天都搞不定。只有换到Ubuntu下面。记录一下

不过12.04的Ubuntu使用的是3.2的内核，而openJDK的hotspot的Makefile里面支持的内核没这么高，所以会遇到一些问题。所以个人建议还是用9或者10的Ubuntu版本。

编译的过程不复杂:下载源代码。 按照README-builds.html里面ubu]]></description><category></category></item><item><title><![CDATA[深入解析HashMap、HashTable]]></title><link>https://blog.youkuaiyun.com/wakeupwakeup/article/details/51834077</link><guid>https://blog.youkuaiyun.com/wakeupwakeup/article/details/51834077</guid><author>wakeupwakeup</author><pubDate>Tue, 05 Jul 2016 19:36:22 +0800</pubDate><description><![CDATA[﻿﻿
集合类之番外篇：深入解析HashMap、HashTable
Java集合类是个非常重要的知识点，HashMap、HashTable、ConcurrentHashMap等算是集合类中的重点，可谓“重中之重”，首先来看个问题，如面试官问你：HashMap和HashTable有什么区别，一个比较简单的回答是：
1、HashMap是非线程安全的，HashTable是线程安全的。
2、Hash]]></description><category></category></item><item><title><![CDATA[Java集合类: Set、List、Map、Queue使用场景梳理]]></title><link>https://blog.youkuaiyun.com/wakeupwakeup/article/details/51833881</link><guid>https://blog.youkuaiyun.com/wakeupwakeup/article/details/51833881</guid><author>wakeupwakeup</author><pubDate>Tue, 05 Jul 2016 18:54:59 +0800</pubDate><description><![CDATA[﻿﻿
本文主要关注Java编程中涉及到的各种集合类，以及它们的使用场景
 
 
 
相关学习资料
 
http://files.cnblogs.com/LittleHann/java%E9%9B%86%E5%90%88%E6%8E%92%E5%BA%8F%E5%8F%8Ajava%E9%9B%86%E5%90%88%E7%B1%BB%E8%AF%A6%E8%A7%A3%28colle]]></description><category></category></item><item><title><![CDATA[深入理解计算机系统（2.8）---浮点数的舍入，Java中的舍入例子以及浮点数运算（重要）]]></title><link>https://blog.youkuaiyun.com/wakeupwakeup/article/details/51789642</link><guid>https://blog.youkuaiyun.com/wakeupwakeup/article/details/51789642</guid><author>wakeupwakeup</author><pubDate>Thu, 30 Jun 2016 13:31:27 +0800</pubDate><description><![CDATA[﻿﻿

本文转载地址：http://www.cnblogs.com/zuoxiaolong/p/computer12.html
 

前言
 
　　上一章我们简单介绍了IEEE浮点标准，本次我们主要讲解一下浮点运算舍入的问题，以及简单的介绍浮点数的运算。
　　之前我们已经提到过，有很多小数是二进制浮点数无法准确表示的，因此就难免会遇到舍入的问题。这一点其实在我们平时的计算当中会经常]]></description><category></category></item><item><title><![CDATA[float与double类型的范围和精度]]></title><link>https://blog.youkuaiyun.com/wakeupwakeup/article/details/51789626</link><guid>https://blog.youkuaiyun.com/wakeupwakeup/article/details/51789626</guid><author>wakeupwakeup</author><pubDate>Thu, 30 Jun 2016 13:28:19 +0800</pubDate><description><![CDATA[转自：http://www.cnblogs.com/tekson/archive/2009/07/16/1524604.html
         http://www.ruanyifeng.com/blog/2010/06/ieee_floating-point_representation.html
         http://docs.oracle.com/cd/E19059]]></description><category></category></item><item><title><![CDATA[学习JAVA浮点数必看文章！]]></title><link>https://blog.youkuaiyun.com/wakeupwakeup/article/details/51780960</link><guid>https://blog.youkuaiyun.com/wakeupwakeup/article/details/51780960</guid><author>wakeupwakeup</author><pubDate>Wed, 29 Jun 2016 10:02:04 +0800</pubDate><description><![CDATA[虽然几乎每种处理器和编程语言都支持浮点运算，但大多数程序员很少注意它。这容易理解 ― 我们中大多数很少需要使用非整数类型。除了科学计算和偶尔的计时测试或基准测试程序，其它情况下几乎都用不着它。同样，大多数开发人员也容易忽略 java.math.BigDecimal 所提供的任意精度的小数
 ― 大多数应用程序不使用它们。然而，在以整数为主的程序中有时确实会出人意料地需要表示非整型数据。例]]></description><category></category></item><item><title><![CDATA[详解Java泛型type体系整理]]></title><link>https://blog.youkuaiyun.com/wakeupwakeup/article/details/51732898</link><guid>https://blog.youkuaiyun.com/wakeupwakeup/article/details/51732898</guid><author>wakeupwakeup</author><pubDate>Wed, 22 Jun 2016 11:17:21 +0800</pubDate><description><![CDATA[一直对jdk的ref使用比较模糊，早上花了点时间简单的整理了下，也帮助自己理解一下泛型的一些处理。

java中class,method,field的继承体系






java中所有对象的类型定义类Type






说明：

Type : Type is the common superinterface for all types in the Jav]]></description><category></category></item></channel></rss>