<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[GS_008的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/GS_008</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; GS_008]]></copyright><item><title><![CDATA[SpringMVC传值操作]]></title><link>https://blog.youkuaiyun.com/GS_008/article/details/52928761</link><guid>https://blog.youkuaiyun.com/GS_008/article/details/52928761</guid><author>GS_008</author><pubDate>Tue, 25 Oct 2016 23:14:40 +0800</pubDate><description><![CDATA[SpringMVC传值操作在SpringMVC中传值分为从view传入controller和从controller传出到view; 
1.从View传值到controller中,使用@RequestParam（）注解可行,例子如下：@RequestMapping({"/hello", "/"})
public String hello(@RequestParam("username") String]]></description><category></category></item><item><title><![CDATA[SpringMVC入门 配置]]></title><link>https://blog.youkuaiyun.com/GS_008/article/details/52921956</link><guid>https://blog.youkuaiyun.com/GS_008/article/details/52921956</guid><author>GS_008</author><pubDate>Tue, 25 Oct 2016 14:24:39 +0800</pubDate><description><![CDATA[SpringMVC入门 配置首先类梳理一下springMVC的工作流程如下图：首先：配置环境，导入需要的jar包，可以在网上下或者使用maven等项目构建工具构建.
第一步：请求Request首先到Dispatcher Servlet(相当于是Controller);
第二步：Dispatcher Servlet去找一个Handlermapping(在配置文件中配置),可以通过Handlermapp]]></description><category></category></item><item><title><![CDATA[python 配置开发环境 安装mysql-connector-python]]></title><link>https://blog.youkuaiyun.com/GS_008/article/details/52904155</link><guid>https://blog.youkuaiyun.com/GS_008/article/details/52904155</guid><author>GS_008</author><pubDate>Sun, 23 Oct 2016 20:20:55 +0800</pubDate><description><![CDATA[Day1：今天开始跟着廖雪峰老师做一个基于python的博客系统，第一天配置python开发环境；参考网站: 实战;本机环境: MacOS 10.12问题: 安装mysql-connector-python中遇到的问题网上推荐的安装方法: $ easy_install mysql-connector-python, 但是在安装过程中出现了以下问题：[Errno 13] Permission deni]]></description><category></category></item><item><title><![CDATA[Mac10.11.6 安装TensorFlow(踩过的坑)]]></title><link>https://blog.youkuaiyun.com/GS_008/article/details/52833741</link><guid>https://blog.youkuaiyun.com/GS_008/article/details/52833741</guid><author>GS_008</author><pubDate>Sun, 16 Oct 2016 22:37:41 +0800</pubDate><description><![CDATA[最近要做一个深度学习的项目，开始配置TensorFlow环境 
Mac上安装TensorFlow的教程在还是很多的，这里推荐TensorFlow官网给出的安装教程：TensorFlow安装过程在网页的左上角Version可以选择相应的版本1. Pip Installation# Mac OS X
$ sudo easy_install pip
$ sudo easy_install --upgrad]]></description><category></category></item><item><title><![CDATA[导入spring3.2源码到STS/Eclipse中]]></title><link>https://blog.youkuaiyun.com/GS_008/article/details/52119040</link><guid>https://blog.youkuaiyun.com/GS_008/article/details/52119040</guid><author>GS_008</author><pubDate>Thu, 04 Aug 2016 14:39:21 +0800</pubDate><description><![CDATA[想自己读一下Spring源码，用STS加载一下。原文链接

spring3.2通过新的基于Gradle的构建来构建项目，它取代了之前的Ant+Ivy系统。
本文就介绍如何将spring3.2的源码导入到myeclipse中。

大伙可先参考一下spring的官方文档说明：https://github.com/SpringSource/spring-framework
Building ]]></description><category></category></item><item><title><![CDATA[mac电脑 ERROR 1045 (28000): Access denied for user 'username'@'localhost' (using password: YES)问题解决办法]]></title><link>https://blog.youkuaiyun.com/GS_008/article/details/51881567</link><guid>https://blog.youkuaiyun.com/GS_008/article/details/51881567</guid><author>GS_008</author><pubDate>Mon, 11 Jul 2016 16:08:17 +0800</pubDate><description><![CDATA[重新配置mac电脑工作环境，安装mysql工具后，登录一直出现ERROR 1045 (28000): Access denied for user 'username'@'localhost' (using password: YES)错误，在网上查找试了很多办法都没有结果，最后在stackoverflow上面搜到了一篇帖子：Access
 Denied for MYSQL ERROR 1045]]></description><category></category></item><item><title><![CDATA[Java并发编程：volatile关键字解析]]></title><link>https://blog.youkuaiyun.com/GS_008/article/details/51760237</link><guid>https://blog.youkuaiyun.com/GS_008/article/details/51760237</guid><author>GS_008</author><pubDate>Sat, 25 Jun 2016 21:43:45 +0800</pubDate><description><![CDATA[Java并发编程：volatile关键字解析

(原文出处)

　　 volatile这个关键字可能很多朋友都听说过，或许也都用过。在Java 5之前，它是一个备受争议的关键字，因为在程序中使用它往往会导致出人意料的结果。在Java 5之后，volatile关键字才得以重获生机。

　　volatile关键字虽然从字面上理解起来比较简单，但是要用好不是一件容易的事情。由于volatil]]></description><category></category></item><item><title><![CDATA[MyEclipse导入jquery-1.8.0.min.js等文件报错的解决方案]]></title><link>https://blog.youkuaiyun.com/GS_008/article/details/51661660</link><guid>https://blog.youkuaiyun.com/GS_008/article/details/51661660</guid><author>GS_008</author><pubDate>Tue, 14 Jun 2016 01:39:51 +0800</pubDate><description><![CDATA[原文地址：http://www.voidcn.com/blog/u013370108/article/p-3438673.html


MyEclipse导入jquery-1.8.0.min.js等文件的时候报错，解决方法如下：




1、选中报错的jquery文件例如“jquery-1.8.0.min.js”。


2、右键选择 MyEclipse-->Exclude F]]></description><category></category></item><item><title><![CDATA[强类型语言和弱类型语言]]></title><link>https://blog.youkuaiyun.com/GS_008/article/details/51278770</link><guid>https://blog.youkuaiyun.com/GS_008/article/details/51278770</guid><author>GS_008</author><pubDate>Fri, 29 Apr 2016 00:37:22 +0800</pubDate><description><![CDATA[编译型和解释型

 
我们先看看编译型，其实它和汇编语言是一样的：也是有一个负责翻译的程序来对我们的源代码进行转换，生成相对应的可执行代码。这个过程说得专业一点，就称为编译（Compile），而负责编译的程序自然就称为编译器（Compiler）。如果我们写的程序代码都包含在一个源文件中，那么通常编译之后就会直接生成一个可执行文件，我们就可以直接运行了。但对于一个比较复杂的项目，为了方便管理，]]></description><category></category></item><item><title><![CDATA[《JAVA并发编程实践》学习笔记(第十.十一章)]]></title><link>https://blog.youkuaiyun.com/GS_008/article/details/51104650</link><guid>https://blog.youkuaiyun.com/GS_008/article/details/51104650</guid><author>GS_008</author><pubDate>Sat, 09 Apr 2016 13:21:08 +0800</pubDate><description><![CDATA[第10章 避免活跃度危险
10.1 死锁
       当一个线程永远占有一个锁，而其他线程尝试去获得这个锁，那么它们将永远被阻塞。
       与其他并发危险相同，死锁很少被立即发现。一个类如果有发生死锁的潜在可能并不意味着死锁每次都发生，它只发生在改发生的时候。当死锁出现的时候，往往是最不幸的时候——在高负载之下。
10.1.1 锁顺序死锁
       如果所有线程一通用的固定秩]]></description><category></category></item><item><title><![CDATA[《JAVA并发编程实践》学习笔记(第八.九章)]]></title><link>https://blog.youkuaiyun.com/GS_008/article/details/51100773</link><guid>https://blog.youkuaiyun.com/GS_008/article/details/51100773</guid><author>GS_008</author><pubDate>Fri, 08 Apr 2016 23:49:58 +0800</pubDate><description><![CDATA[第8章 应用线程池
8.1 任务与执行策略间的隐形耦合
       一些任务具有这样的特征：需要或者排斥某种特定的执行策略。对其他任务具有依赖性的任务，就会要求线程池足够大，来保证它所依赖任务不必排队或者不被拒绝；采用线程池的任务需要顺序地执行。把这些需求都写入文档，这样将来的维护者就不会使用一个与原先相悖的执行策略，而破坏安全性或活跃度了。
8.1.1线程饥饿死锁
       在线程]]></description><category></category></item><item><title><![CDATA[《JAVA并发编程实践》学习笔记(第六.七章)]]></title><link>https://blog.youkuaiyun.com/GS_008/article/details/51100421</link><guid>https://blog.youkuaiyun.com/GS_008/article/details/51100421</guid><author>GS_008</author><pubDate>Fri, 08 Apr 2016 22:37:24 +0800</pubDate><description><![CDATA[第2部分
构建并发应用程序
第6章 任务执行
       大多数并发应用程序都是围绕执行任务(task)进行管理。所谓任务就是抽象、离散的工作单元(unit of work)。
6.1 在线程中执行任务
       在围绕任务来管理应用程序时，第一步要指明一个清晰的任务边界(task boundaries)。理想情况下，任务是独立的活动：它的工作并不依赖于其他任务的状态、结果或者边界]]></description><category></category></item><item><title><![CDATA[《JAVA并发编程实践》学习笔记(第四.五章)]]></title><link>https://blog.youkuaiyun.com/GS_008/article/details/51093054</link><guid>https://blog.youkuaiyun.com/GS_008/article/details/51093054</guid><author>GS_008</author><pubDate>Fri, 08 Apr 2016 04:02:21 +0800</pubDate><description><![CDATA[第四章 组合对象
4.1 设计线程安全的类
       设计线程安全类的过程应包括下面3个基本要素：
1.    确定对象状态是由哪些变量构成的；
2.    确定限制状态变量的不变约束；
3.    指定一个管理并发访问对象状态的策略；
同步策略(synchronization policy)定义了对象如何协调对其状态的访问，并不会违反它的不变约束或者后验条件。
4.1.1 收集]]></description><category></category></item><item><title><![CDATA[《JAVA并发编程实践》学习笔记(第三章)]]></title><link>https://blog.youkuaiyun.com/GS_008/article/details/51093000</link><guid>https://blog.youkuaiyun.com/GS_008/article/details/51093000</guid><author>GS_008</author><pubDate>Fri, 08 Apr 2016 02:16:03 +0800</pubDate><description><![CDATA[第三章：共享对象(Sharing Objects)
3.1 可见性
       为了确保跨线程写入的内存可见性，你必须使用同步机制。
       重排序：在单个线程中，只要重排序不会对结果产生影响，那么就不能保证其中的操作一定按照程序写定的顺序执行——即使重排序对于其他线程来说会产生明显的影响。
       在没有同步的情况下，编译器，处理器，运行时安排操作的执行顺序可能完全出人意料]]></description><category></category></item><item><title><![CDATA[原子性与可见性]]></title><link>https://blog.youkuaiyun.com/GS_008/article/details/51069610</link><guid>https://blog.youkuaiyun.com/GS_008/article/details/51069610</guid><author>GS_008</author><pubDate>Wed, 06 Apr 2016 01:13:05 +0800</pubDate><description><![CDATA[原子性

原子是世界上的最小单位，具有不可分割性。比如 a=0；（a非long和double类型） 这个操作是不可分割的，那么我们说这个操作时原子操作。再比如：a++； 这个操作实际是a = a + 1；是可分割的，所以他不是一个原子操作。非原子操作都会存在线程安全问题，需要我们使用同步技术（sychronized）来让它变成一个原子操作。一个操作是原子操作，那么我们称它具有原子性。java的]]></description><category></category></item><item><title><![CDATA[《JAVA并发编程实践》学习笔记(第二章)]]></title><link>https://blog.youkuaiyun.com/GS_008/article/details/51069389</link><guid>https://blog.youkuaiyun.com/GS_008/article/details/51069389</guid><author>GS_008</author><pubDate>Tue, 05 Apr 2016 23:53:00 +0800</pubDate><description><![CDATA[最近在看《JAVA并发编程实践》这本书，此篇文章为学习笔记~，目的在于记录看书过程中遇到的知识点，有时间进行进一步整理。学习知识，与君共勉！

第二章 线程安全
1.    一个类是线程安全的，是指被多个线程访问时，类可以支持进行正确的行为。
2.
3.    对于线程安全类的实例进行顺序或并发的一系列操作，都不会导致实例处于无效状态；
4.    线程安全的类封装了任何必要的同步，因]]></description><category></category></item><item><title><![CDATA[线程安全与可重入]]></title><link>https://blog.youkuaiyun.com/GS_008/article/details/51069171</link><guid>https://blog.youkuaiyun.com/GS_008/article/details/51069171</guid><author>GS_008</author><pubDate>Tue, 05 Apr 2016 23:10:07 +0800</pubDate><description><![CDATA[原文在这里~

线程安全与可重入


定义
　　线程安全：被多个并发的线程反复调用时，他会产生正确的结果。
　　可重入：当被多个线程调用的时候，不会引用任何共享数据。
　　Remark：任何线程不安全问题的根源都是“共享数据”。所以，不使用任何共享数据的函数（即：可重入函数）肯定是线程安全的。但这并不等于说，线程安全函数就是可重入函数。为什么呢？因为：即使有线程有共享数据，线程被并]]></description><category></category></item><item><title><![CDATA[Callable与Runnable区别]]></title><link>https://blog.youkuaiyun.com/GS_008/article/details/51020817</link><guid>https://blog.youkuaiyun.com/GS_008/article/details/51020817</guid><author>GS_008</author><pubDate>Thu, 31 Mar 2016 01:16:07 +0800</pubDate><description><![CDATA[原文地址

Callable与 Future 两功能是Java在后续版本中为了适应多并法才加入的，Callable是类似于Runnable的接口，实现Callable接口的类和实现Runnable的类都是可被其他线程执行的任务。

Callable的接口定义如下；

public interface Callable { 

      V   call()   throws Ex]]></description><category></category></item><item><title><![CDATA[Java泄露及造成内存泄露的原因]]></title><link>https://blog.youkuaiyun.com/GS_008/article/details/51018245</link><guid>https://blog.youkuaiyun.com/GS_008/article/details/51018245</guid><author>GS_008</author><pubDate>Wed, 30 Mar 2016 18:55:33 +0800</pubDate><description><![CDATA[一、Java内存回收机制 
不论哪种语言的内存分配方式，都需要返回所分配内存的真实地址，也就是返回一个指针到内存块的首地址。Java中对象是采用new或者反射的方法创建的，这些对象的创建都是在堆（Heap）中分配的，所有对象的回收都是由Java虚拟机通过垃圾回收机制完成的。GC为了能够正确释放对象，会监控每个对象的运行状况，对他们的申请、引用、被引用、赋值等状况进行监控，Java会使用有向图的方]]></description><category></category></item><item><title><![CDATA[静态方法与非静态方法的区别]]></title><link>https://blog.youkuaiyun.com/GS_008/article/details/51010445</link><guid>https://blog.youkuaiyun.com/GS_008/article/details/51010445</guid><author>GS_008</author><pubDate>Tue, 29 Mar 2016 23:43:29 +0800</pubDate><description><![CDATA[原文在这里！
使用static修饰的静态方法是属于整个类的类方法，它在内存中的代码段会随类的定义而被分配和装载；而非静态方法是属于具体对象的方法，当这个对 象创建时，在对象的内存中会拥有此方法的专用代码段。在引用静态方法时，可以使用对象名加前缀，也可以使用类名加前缀。eg. classA
 实例化了一个对象objectA，
classA中定义了一个静态方法：run( ). 则可使用 clas]]></description><category></category></item></channel></rss>