<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[awhip9的博客]]></title><description><![CDATA[怕什么真理无穷,进一寸有一寸的欢喜]]></description><link>https://blog.youkuaiyun.com/awhip9</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; awhip9]]></copyright><item><title><![CDATA[MySQL 中 You can‘t specify target table ‘表名‘ for update in FROM clause错误解决办法]]></title><link>https://blog.youkuaiyun.com/awhip9/article/details/109219285</link><guid>https://blog.youkuaiyun.com/awhip9/article/details/109219285</guid><author>awhip9</author><pubDate>Thu, 22 Oct 2020 12:01:14 +0800</pubDate><description><![CDATA[在MySQL中，写SQL语句的时候 ，可能会遇到You can't specify target table '表名' for update in FROM clause这样的错误，它的意思是说，不能先select出同一表中的某些值，再update这个表(在同一语句中)，即不能依据某字段值做判断再来更新某字段的值。



1、数据准备

product表数据如下：





laptop表数据如下：





2、要求：#删除所有不生产打印机厂商生产的笔记本电脑

第一步：对aptop表进行操作


...]]></description><category></category></item><item><title><![CDATA[Java解释执行和编译执行]]></title><link>https://blog.youkuaiyun.com/awhip9/article/details/109079026</link><guid>https://blog.youkuaiyun.com/awhip9/article/details/109079026</guid><author>awhip9</author><pubDate>Wed, 14 Oct 2020 17:23:28 +0800</pubDate><description><![CDATA[转载自https://www.cnblogs.com/lingz/p/9394238.html

以前有句话说：“Java是解释执行的” 。现在看来确实不是很准确，至于原因，在此简略解释：



　首先，我们先解释一下在Java中解释执行和编译执行的区别。　


解释执行：将编译好的字节码一行一行地翻译为机器码执行。

编译执行：以方法为单位，将字节码一次性翻译为机器码后执行。

　　

　　在编译示时期，我们通过将源代码编译成.class ，配合JVM这种跨平台的抽象，屏蔽了底层计算机操作系统和硬件...]]></description><category></category></item><item><title><![CDATA[jps不显示java进程信息]]></title><link>https://blog.youkuaiyun.com/awhip9/article/details/104677205</link><guid>https://blog.youkuaiyun.com/awhip9/article/details/104677205</guid><author>awhip9</author><pubDate>Thu, 05 Mar 2020 16:13:05 +0800</pubDate><description><![CDATA[本来想自己整理，发现已经有前人整理，并且完美解决了我的问题，故转载，感谢分享

转自：http://trinea.iteye.com/blog/1196400

对于jps较熟悉可以直接查看第二部分的分析

1、jps的作用

jps类似linux的ps命令，不同的是ps是用来显示进程，而jps只显示java进程，准确的说是当前用户已启动的部分java进程信息，信息包括进程号和简短的进程comma...]]></description><category></category></item><item><title><![CDATA[x-forward-for科普]]></title><link>https://blog.youkuaiyun.com/awhip9/article/details/88394762</link><guid>https://blog.youkuaiyun.com/awhip9/article/details/88394762</guid><author>awhip9</author><pubDate>Mon, 11 Mar 2019 15:33:26 +0800</pubDate><description><![CDATA[问题背景：

在实际应用中，我们可能需要获取用户的ip地址，比如做异地登陆的判断，或者统计ip访问次数等，通常情况下我们使用request.getRemoteAddr()就可以获取到客户端ip，但是当我们使用了nginx作为反向代理后，使用request.getRemoteAddr()获取到的就一直是nginx服务器的ip的地址，那这时应该怎么办？

part1：解决方案

我在查阅资料时，有一...]]></description><category></category></item><item><title><![CDATA[【spring系列】之6：bean的初始化和销毁方法]]></title><link>https://blog.youkuaiyun.com/awhip9/article/details/87863211</link><guid>https://blog.youkuaiyun.com/awhip9/article/details/87863211</guid><author>awhip9</author><pubDate>Thu, 21 Feb 2019 16:44:05 +0800</pubDate><description><![CDATA[通常,bean的初始化和销毁方法我们有三个地方可以入手，分别是：


自定义初始化，销毁方法
实现spring提供的InitializingBean(初始化逻辑)，DisposableBean(销毁逻辑)接口
JSR250；@PostConstruct，@PreDestroy执行初始化和销毁方法
实现spring提供的BeanPostProcessor接口，实现其postProcessBefore...]]></description><category></category></item><item><title><![CDATA[@Component和@Configuration作为配置类的差别]]></title><link>https://blog.youkuaiyun.com/awhip9/article/details/87795186</link><guid>https://blog.youkuaiyun.com/awhip9/article/details/87795186</guid><author>awhip9</author><pubDate>Wed, 20 Feb 2019 14:26:52 +0800</pubDate><description><![CDATA[随着spingboot的大火，注解式配置受到了大家的热烈欢迎，而@Component和@Configuration都可以作为配置类，之前一直都没觉得这两个用起来有什么差别，可能有时程序跑的和自己想的有所区别也没注意到。

直到看到这篇文章：https://my.oschina.net/guangshan/blog/1807721 。我意识到@Component和@Configuration是有区别...]]></description><category></category></item><item><title><![CDATA[Spring的注解@DependsOn]]></title><link>https://blog.youkuaiyun.com/awhip9/article/details/87780192</link><guid>https://blog.youkuaiyun.com/awhip9/article/details/87780192</guid><author>awhip9</author><pubDate>Wed, 20 Feb 2019 10:48:31 +0800</pubDate><description><![CDATA[用途
注解@DependsOn位于如下包

org.springframework.context.annotation
1
该注解用于声明当前bean依赖于另外一个bean。所依赖的bean会被容器确保在当前bean实例化之前被实例化。

举例来讲，如果容器通过@DependsOn注解方式定义了bean plant依赖于bean water,那么容器在会确保bean water的实例在实例化be...]]></description><category></category></item><item><title><![CDATA[HashMap实现原理及源码分析]]></title><link>https://blog.youkuaiyun.com/awhip9/article/details/79727177</link><guid>https://blog.youkuaiyun.com/awhip9/article/details/79727177</guid><author>awhip9</author><pubDate>Wed, 28 Mar 2018 14:29:30 +0800</pubDate><description><![CDATA[　哈希表（hash table）也叫散列表，是一种非常重要的数据结构，应用场景及其丰富，许多缓存技术（比如memcached）的核心其实就是在内存中维护一张大的哈希表，而HashMap的实现原理也常常出现在各类的面试题中，重要性可见一斑。本文会对java集合框架中的对应实现HashMap的实现原理进行讲解，然后会对JDK7的HashMap源码进行分析。目录　　一、什么是哈希表　　二、HashMap...]]></description><category></category></item><item><title><![CDATA[当你在浏览器地址栏输入一个URL后回车，将会发生的事情？]]></title><link>https://blog.youkuaiyun.com/awhip9/article/details/79625027</link><guid>https://blog.youkuaiyun.com/awhip9/article/details/79625027</guid><author>awhip9</author><pubDate>Tue, 20 Mar 2018 14:16:59 +0800</pubDate><description><![CDATA[原文:http://igoro.com/archive/what-really-happens-when-you-navigate-to-a-url/  作为一个软件开发者，你一定会对网络应用如何工作有一个完整的层次化的认知，同样这里也包括这些应用所用到的技术：像浏览器，HTTP，HTML，网络服务器，需求处理等等。本文将更深入的研究当你输入一个网址的时候，后台到底发生了一件件什么样的事～1. 首...]]></description><category></category></item><item><title><![CDATA[修改MySQL的默认数据存储引擎]]></title><link>https://blog.youkuaiyun.com/awhip9/article/details/79391039</link><guid>https://blog.youkuaiyun.com/awhip9/article/details/79391039</guid><author>awhip9</author><pubDate>Tue, 27 Feb 2018 17:20:44 +0800</pubDate><description><![CDATA[因为MySQL默认的是MyISAM数据引擎，不支持事务也不支持外键，所以需要用到Innodb引擎，于是决定将mysql的默认引擎设置为innodb。1 . 查看MySQL存储引擎是用的哪个？登录MySQL数据库，在mysql&amp;gt;提示符下搞入show engines;命令。+------------+---------+--------------------------------------...]]></description><category></category></item><item><title><![CDATA[Mysql 的引擎类型MyISAM、InnoDB介绍及变更]]></title><link>https://blog.youkuaiyun.com/awhip9/article/details/79390993</link><guid>https://blog.youkuaiyun.com/awhip9/article/details/79390993</guid><author>awhip9</author><pubDate>Tue, 27 Feb 2018 17:19:47 +0800</pubDate><description><![CDATA[innoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型，这两个表类型各有优劣，视具体应用而定。一、基本的差别为：1、MyISAM类型不支持事务处理等高级处理，而InnoDB类型支持。2、MyISAM类型的表强调的是性能，其执行数度比InnoDB类型更快，但是不提供事务支持，而InnoDB提供事务支持以及外部键等高级数据库功能。3、InnoDB不支持FULLTEXT类型的索引。4、I...]]></description><category></category></item><item><title><![CDATA[mysql函数GROUP_CONCAT()]]></title><link>https://blog.youkuaiyun.com/awhip9/article/details/79340941</link><guid>https://blog.youkuaiyun.com/awhip9/article/details/79340941</guid><author>awhip9</author><pubDate>Tue, 20 Feb 2018 21:03:55 +0800</pubDate><description><![CDATA[mysql 中 GROUP_CONCAT()函数，主要用来处理一对多的查询结果，通常会结合GROUP BY一起使用。语法：1 GROUP_CONCAT([DISTINCT] expr [,expr ...]
2 
3              [ORDER BY {unsigned_integer | col_name | expr}
4 
5                  [ASC | DE...]]></description><category></category></item><item><title><![CDATA[Mysql 查看连接数,状态 最大并发数(赞)]]></title><link>https://blog.youkuaiyun.com/awhip9/article/details/79292048</link><guid>https://blog.youkuaiyun.com/awhip9/article/details/79292048</guid><author>awhip9</author><pubDate>Thu, 08 Feb 2018 17:32:08 +0800</pubDate><description><![CDATA[-- show variables like '%max_connections%'; 查看最大连接数set global max_connections=1000 重新设置mysql&amp;gt; show status like 'Threads%';+-------------------+-------+| Variable_name     | Value |+----------------...]]></description><category></category></item><item><title><![CDATA[mysql 严格模式 Strict Mode说明]]></title><link>https://blog.youkuaiyun.com/awhip9/article/details/79290971</link><guid>https://blog.youkuaiyun.com/awhip9/article/details/79290971</guid><author>awhip9</author><pubDate>Thu, 08 Feb 2018 16:17:04 +0800</pubDate><description><![CDATA[1.开启与关闭Strict Mode方法找到mysql安装目录下的my.cnf（windows系统则是my.ini)文件在sql_mode中加入STRICT_TRANS_TABLES则表示开启严格模式，如没有加入则表示非严格模式，修改后重启mysql即可例如这就表示开启了严格模式： sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES2.Stric...]]></description><category></category></item><item><title><![CDATA[正确设置与使用SQL Server的字符集（Collation，即排序规则）]]></title><link>https://blog.youkuaiyun.com/awhip9/article/details/79139568</link><guid>https://blog.youkuaiyun.com/awhip9/article/details/79139568</guid><author>awhip9</author><pubDate>Tue, 23 Jan 2018 14:40:32 +0800</pubDate><description><![CDATA[目录






目录正确认识SQL
 Server的字符集选择合适的SQL
 Server字符集错误使用SQL
 Server的字符集参考资料





正确认识SQL Server的字符集

SQL Server作为一个国际化产品，支持多语言环境。在SQL Server中，字符集被称为排序规则（即Collation）。排序规则不仅影响记录行的sort顺序，还]]></description><category></category></item><item><title><![CDATA[【深入理解Java虚拟机】类加载机制]]></title><link>https://blog.youkuaiyun.com/awhip9/article/details/79065555</link><guid>https://blog.youkuaiyun.com/awhip9/article/details/79065555</guid><author>awhip9</author><pubDate>Mon, 15 Jan 2018 15:59:11 +0800</pubDate><description><![CDATA[本文内容来源于《深入理解Java虚拟机》一书，非常推荐大家去看一下这本书。

本系列其他文章：


【深入理解Java虚拟机】Java内存区域模型、对象创建过程、常见OOM
【深入理解Java虚拟机】垃圾回收机制








1、类加载机制概述

虚拟机把描述类的数据从Class文件加载到内存，并对数据进行校验、转换解析和初始化，最终形成可以被虚拟机直接使用的]]></description><category></category></item><item><title><![CDATA[深入理解java虚拟机 精华总结（面试）]]></title><link>https://blog.youkuaiyun.com/awhip9/article/details/79065530</link><guid>https://blog.youkuaiyun.com/awhip9/article/details/79065530</guid><author>awhip9</author><pubDate>Mon, 15 Jan 2018 15:57:32 +0800</pubDate><description><![CDATA[一、运行时数据区域

Java虚拟机管理的内存包括几个运行时数据内存：方法区、虚拟机栈、本地方法栈、堆、程序计数器，其中方法区和堆是由线程共享的数据区，其他几个是线程隔离的数据区

1.1 程序计数器

程序计数器是一块较小的内存，他可以看做是当前线程所执行的行号指示器。字节码解释器工作的时候就是通过改变这个计数器的值来选取下一条需要执行的字节码的指令，分支、循环、跳转、异常处理、线程]]></description><category></category></item><item><title><![CDATA[《深入理解Java虚拟机》学习笔记]]></title><link>https://blog.youkuaiyun.com/awhip9/article/details/79065423</link><guid>https://blog.youkuaiyun.com/awhip9/article/details/79065423</guid><author>awhip9</author><pubDate>Mon, 15 Jan 2018 15:50:37 +0800</pubDate><description><![CDATA[本篇是《深入理解Java虚拟机-Java 高级特性与最佳实践》学习笔记，周志明著，Understanding the JVM-Advanced Features and Best Practices，机械工业出版社，2011.6出版。


重温Java JVM知识，重点学习了与日常开发工作相关性最大的“自动化内存管理”模块，对Java容器优化、内存问题解决很有帮助；习惯了从互联网看电子书，难]]></description><category></category></item><item><title><![CDATA[OSI七层模型详解]]></title><link>https://blog.youkuaiyun.com/awhip9/article/details/79027235</link><guid>https://blog.youkuaiyun.com/awhip9/article/details/79027235</guid><author>awhip9</author><pubDate>Wed, 10 Jan 2018 19:05:50 +0800</pubDate><description><![CDATA[OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯，因此其最主要的功能就是帮助不同类型的主机实现数据传输 。

完成中继功能的节点通常称为中继系统。在OSI七层模型中，处于不同层的中继系统具有不同的名称。   



一个设备工作在哪一层，关键看它工作时利用哪一层的数据头部信息。网桥工作时，是以MAC头部来决定转发端口的，因此显然它是数据链路层的设备。
]]></description><category></category></item><item><title><![CDATA[JAVA启动参数整理]]></title><link>https://blog.youkuaiyun.com/awhip9/article/details/79011996</link><guid>https://blog.youkuaiyun.com/awhip9/article/details/79011996</guid><author>awhip9</author><pubDate>Tue, 09 Jan 2018 13:40:06 +0800</pubDate><description><![CDATA[java启动参数共分为三类；

其一是标准参数（-），所有的JVM实现都必须实现这些参数的功能，而且向后兼容；
其二是非标准参数（-X），默认jvm实现这些参数的功能，但是并不保证所有jvm实现都满足，且不保证向后兼容；
其三是非Stable参数（-XX），此类参数各个jvm实现会有所不同，将来可能会随时取消，需要慎重使用；

 

一．标准参数


-client 
 设]]></description><category></category></item></channel></rss>