<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[JJS857012499的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/JJS857012499</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; JJS857012499]]></copyright><item><title><![CDATA[spring 定时任务]]></title><link>https://blog.youkuaiyun.com/JJS857012499/article/details/46475853</link><guid>https://blog.youkuaiyun.com/JJS857012499/article/details/46475853</guid><author>JJS857012499</author><pubDate>Fri, 12 Jun 2015 21:46:12 +0800</pubDate><description><![CDATA[xmlns 多加下面的内容xmlns:task="http://www.springframework.org/schema/task"  
然后xsi:schemaLocation多加下面的内容
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-3]]></description><category></category></item><item><title><![CDATA[@MappedSuperclass的用法]]></title><link>https://blog.youkuaiyun.com/JJS857012499/article/details/46293089</link><guid>https://blog.youkuaiyun.com/JJS857012499/article/details/46293089</guid><author>JJS857012499</author><pubDate>Sun, 31 May 2015 22:46:22 +0800</pubDate><description><![CDATA[import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import com.rock.cft.hibernate.BaseEntity;
@Entity]]></description><category></category></item><item><title><![CDATA[@NotEmpty、@NotBlank、@NotNull]]></title><link>https://blog.youkuaiyun.com/JJS857012499/article/details/45998677</link><guid>https://blog.youkuaiyun.com/JJS857012499/article/details/45998677</guid><author>JJS857012499</author><pubDate>Mon, 25 May 2015 23:30:22 +0800</pubDate><description><![CDATA[验证框中@NotEmpty、@NotBlank、@NotNull乍一看还是容易弄混的。主要使用情况记录一下：
@NotEmpty 用在集合类上面
@NotBlank 用在String上面
@NotNull    用在基本类型上


依赖：

   org.hibernate
   hibernate-validator
   4.3.1.Final]]></description><category></category></item><item><title><![CDATA[修改Eclipse默认workspace目录]]></title><link>https://blog.youkuaiyun.com/JJS857012499/article/details/45721177</link><guid>https://blog.youkuaiyun.com/JJS857012499/article/details/45721177</guid><author>JJS857012499</author><pubDate>Thu, 14 May 2015 15:06:37 +0800</pubDate><description><![CDATA[Ecipse 开始使用是默认的workspace目录都会是在 C:\User\用户名\workspace， 第一次用时，往往将勾选框勾上，这样就默认使用这个目录了，以后再开启Eclipse就不会再出现这个询问框了；


    日后想修改时，可再使这个询问框出现再进行修改：


   进入 Window > Preferences > General > Startup and Shu]]></description><category></category></item><item><title><![CDATA[android从摄像头或者图库选择图片，并进行裁剪，可以用来用户头像处理]]></title><link>https://blog.youkuaiyun.com/JJS857012499/article/details/45674031</link><guid>https://blog.youkuaiyun.com/JJS857012499/article/details/45674031</guid><author>JJS857012499</author><pubDate>Tue, 12 May 2015 19:51:44 +0800</pubDate><description><![CDATA[/**
 * 选择图片的界面,也就底部弹窗的效果，只能单选，同时也要对图片进行裁剪，用户修改头像用
 * 
 * @author JJS
 * 
 */
public class SelectPhotoActivity extends BaseActivity implements
		OnClickListener {
	/** 使用照相机拍照获取图片 */
	private static fi]]></description><category></category></item><item><title><![CDATA[android 按后退键，最小化程序（不退出AC）]]></title><link>https://blog.youkuaiyun.com/JJS857012499/article/details/45421619</link><guid>https://blog.youkuaiyun.com/JJS857012499/article/details/45421619</guid><author>JJS857012499</author><pubDate>Fri, 01 May 2015 20:21:16 +0800</pubDate><description><![CDATA[Intent home = new Intent(Intent.ACTION_MAIN);   
home.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);   
home.addCategory(Intent.CATEGORY_HOME);   
startActivity(home); 原理是构建一个intent，调到主页。]]></description><category></category></item><item><title><![CDATA[volatile关键字的理解]]></title><link>https://blog.youkuaiyun.com/JJS857012499/article/details/44559519</link><guid>https://blog.youkuaiyun.com/JJS857012499/article/details/44559519</guid><author>JJS857012499</author><pubDate>Mon, 23 Mar 2015 09:43:47 +0800</pubDate><description><![CDATA[synchronized 

同步块大家都比较熟悉，通过 synchronized 关键字来实现，所有加上synchronized 和 块语句，在多线程访问的时候，同一时刻只能有一个线程能够用

synchronized 修饰的方法 或者 代码块。



volatile

用volatile修饰的变量，线程在每次使用变量的时候，都会读取变量修改后的最的值。volatile很容]]></description><category></category></item><item><title><![CDATA[Android布局属性LayoutParams的理解]]></title><link>https://blog.youkuaiyun.com/JJS857012499/article/details/42364859</link><guid>https://blog.youkuaiyun.com/JJS857012499/article/details/42364859</guid><author>JJS857012499</author><pubDate>Sat, 03 Jan 2015 16:52:36 +0800</pubDate><description><![CDATA[一个LinearLayout 和 这个LinearLayout里边一个 TextView 的关系 TextView 就算LinearLayout的子视图 child view .需要注意的是LayoutParams只是ViewGroup的一个内部类 这里边这个也就是ViewGroup里边这个LayoutParams类是
 base class 基类 实际上每个不同的ViewGroup都有自己的L]]></description><category></category></item><item><title><![CDATA[android隐藏软键盘]]></title><link>https://blog.youkuaiyun.com/JJS857012499/article/details/42342199</link><guid>https://blog.youkuaiyun.com/JJS857012499/article/details/42342199</guid><author>JJS857012499</author><pubDate>Fri, 02 Jan 2015 16:42:41 +0800</pubDate><description><![CDATA[使用InputMethodManager来让Android隐藏虚拟键盘，调用hideSoftInputFromWindow，传递带有你的编辑框的窗口标记。
InputMethodManager imm = (InputMethodManager)getSystemService(
      Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFrom]]></description><category></category></item><item><title><![CDATA[Java汉字转拼音pinyin4j用法]]></title><link>https://blog.youkuaiyun.com/JJS857012499/article/details/42301381</link><guid>https://blog.youkuaiyun.com/JJS857012499/article/details/42301381</guid><author>JJS857012499</author><pubDate>Wed, 31 Dec 2014 21:44:34 +0800</pubDate><description><![CDATA[1 汉字转换为拼音

package com.pinyin4j;

import java.util.Arrays;

import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyi]]></description><category></category></item><item><title><![CDATA[java socket udp]]></title><link>https://blog.youkuaiyun.com/JJS857012499/article/details/42293287</link><guid>https://blog.youkuaiyun.com/JJS857012499/article/details/42293287</guid><author>JJS857012499</author><pubDate>Wed, 31 Dec 2014 12:00:21 +0800</pubDate><description><![CDATA[服务端
package com.socket.net.udp;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

public class Service {

	public static void]]></description><category></category></item><item><title><![CDATA[java socket tcp]]></title><link>https://blog.youkuaiyun.com/JJS857012499/article/details/42292031</link><guid>https://blog.youkuaiyun.com/JJS857012499/article/details/42292031</guid><author>JJS857012499</author><pubDate>Wed, 31 Dec 2014 10:39:47 +0800</pubDate><description><![CDATA[package com.socket.net.tcp;

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

public class Service {
	
public static void main(String[] args) {
	ServerSocket server =]]></description><category></category></item><item><title><![CDATA[android view 触屏事件传递原理]]></title><link>https://blog.youkuaiyun.com/JJS857012499/article/details/42271305</link><guid>https://blog.youkuaiyun.com/JJS857012499/article/details/42271305</guid><author>JJS857012499</author><pubDate>Tue, 30 Dec 2014 20:12:07 +0800</pubDate><description><![CDATA[对于ViewGroup类的控件，有一个很重要的方法，就是onInterceptTouchEvent()，用于处理事件并改变事件的传递方向，它的返回值是一个布尔值，决定了Touch事件是否要向它包含的子View继续传递，这个方法是从父View向子View传递。
而方法onTouchEvent()，用于接收事件并处理，它的返回值也是一个布尔值，决定了事件及后续事件是否继续向上传递，这个方法是从子Vi]]></description><category></category></item><item><title><![CDATA[android 点亮屏幕]]></title><link>https://blog.youkuaiyun.com/JJS857012499/article/details/39717127</link><guid>https://blog.youkuaiyun.com/JJS857012499/article/details/39717127</guid><author>JJS857012499</author><pubDate>Wed, 01 Oct 2014 10:45:50 +0800</pubDate><description><![CDATA[@Override
	public void onReceive(Context context, Intent intent) {
		System.out.println("广播接收到");
		  KeyguardManager km= (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);]]></description><category></category></item></channel></rss>