<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[luo19890923的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/luo19890923</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; luo19890923]]></copyright><item><title><![CDATA[JVM学习]]></title><link>https://blog.youkuaiyun.com/luo19890923/article/details/79720448</link><guid>https://blog.youkuaiyun.com/luo19890923/article/details/79720448</guid><author>luo19890923</author><pubDate>Tue, 27 Mar 2018 22:30:59 +0800</pubDate><description><![CDATA[参考这个博客： 
https://mp.weixin.qq.com/s/4c9K5eYMFGVV2WyKaYXVBA

参考书籍：深入理解Java虚拟机

JVM就是java虚拟机的意思，java之所以可以跨平台，就是因为其语言运行在虚拟机上，从而达到跨平台的效果 
目前常用的虚拟机有两个，一个是sun公司的hotspot，另一个是 JRockit

java的内存管理，其内存分为三大部分，栈，堆...]]></description><category></category></item><item><title><![CDATA[Spring事务管理]]></title><link>https://blog.youkuaiyun.com/luo19890923/article/details/79720358</link><guid>https://blog.youkuaiyun.com/luo19890923/article/details/79720358</guid><author>luo19890923</author><pubDate>Tue, 27 Mar 2018 22:17:01 +0800</pubDate><description><![CDATA[spring是支持事务管理的，这样就不用直接在sql中使用begin transaction这样开始事务的命令了，spring帮你集成了 
spring有两种事务，一种是编程式事务，即通过java代码来进行事务管理，一种是声明式事务，使用xml配置或者注解即可。 
spring的事务接口是PlatFormTransationManager，实现类DataSourceTransactionManag...]]></description><category></category></item><item><title><![CDATA[redis持久化]]></title><link>https://blog.youkuaiyun.com/luo19890923/article/details/79720213</link><guid>https://blog.youkuaiyun.com/luo19890923/article/details/79720213</guid><author>luo19890923</author><pubDate>Tue, 27 Mar 2018 22:05:48 +0800</pubDate><description><![CDATA[redis数据是存放在内存中的，如果服务挂了，进程被kill，那么重启后，数据就没了。 
故需要做持久化，一般两种方式。

参考网址：http://blog.youkuaiyun.com/gzh0222/article/details/8482525

1.RDB 
RDB就是Snapshot快照存储，是默认的持久化方式。 
可理解为半持久化模式，即按照一定的策略周期性的将数据保存到磁盘。 
对应产生的数据文...]]></description><category></category></item><item><title><![CDATA[用redis实现分布式锁]]></title><link>https://blog.youkuaiyun.com/luo19890923/article/details/79720081</link><guid>https://blog.youkuaiyun.com/luo19890923/article/details/79720081</guid><author>luo19890923</author><pubDate>Tue, 27 Mar 2018 21:56:21 +0800</pubDate><description><![CDATA[通常部署的服务都是在多台服务器上，不会只有一台。那么在分布式环境下，就会遇到共享资源的问题。比如一个人只能有一条记录，下次进来就只能修改，而不是再新增。 
如果只有一台服务器，可以使用多线程下的单例模式来控制，但是分布式下，就不管用了。

有三种方式，一是使用数据库的乐观锁，二是redis的锁，三是zookeeper提供的锁。此处介绍reids的，参考这个网址：https://www.cnblog...]]></description><category></category></item><item><title><![CDATA[mysql乐观锁与悲观锁]]></title><link>https://blog.youkuaiyun.com/luo19890923/article/details/79719971</link><guid>https://blog.youkuaiyun.com/luo19890923/article/details/79719971</guid><author>luo19890923</author><pubDate>Tue, 27 Mar 2018 21:48:19 +0800</pubDate><description><![CDATA[声明，此处文章主要根据这个整理，具体可以参考这篇博客。

https://www.jianshu.com/p/f5ff017db62a

此处介绍几个概念 
mysql中innodb引擎支持事务和行锁，mysiam引擎不支持事务，只支持表锁。

只有在事务中的操作，才有锁。

InnoDB行锁是通过给索引上的索引项加锁来实现的 
这一点MySQL与Oracle不同，后者是通过在数据块中对相应数据行...]]></description><category></category></item><item><title><![CDATA[java内存分析]]></title><link>https://blog.youkuaiyun.com/luo19890923/article/details/79719717</link><guid>https://blog.youkuaiyun.com/luo19890923/article/details/79719717</guid><author>luo19890923</author><pubDate>Tue, 27 Mar 2018 21:38:54 +0800</pubDate><description><![CDATA[java内存分析，这里介绍使用MAT和java自带的jvisualvm.。 
MAT工具全称为Memory Analyzer Tool，一款详细分析Java堆内存的工具。从网上下载，可以作为eclipse的插件，也可以直接打开。

分析的是内存的dump文件，需要先把内存dump下来，可以使用jmap命令，或者再tomcat的启动参数中加上这个，-XX:+HeapDumpOnOutOfMemory...]]></description><category></category></item><item><title><![CDATA[Java程序中操作mongodb]]></title><link>https://blog.youkuaiyun.com/luo19890923/article/details/46839735</link><guid>https://blog.youkuaiyun.com/luo19890923/article/details/46839735</guid><author>luo19890923</author><pubDate>Sat, 11 Jul 2015 10:18:11 +0800</pubDate><description><![CDATA[之前说的都是在cmd窗口下操作mongodb数据库，现在介绍在java程序中操作的方式，与jdbc类似，也是先建立连接，然后再操作。
       1.导入jar包，以eclipse为例，build path --》add external achive  引入jar包，这里用mongo-java-driver-1.0.jar
       2.建立连接，多种方式
       Mongo ]]></description><category></category></item><item><title><![CDATA[mongodb的基本操作]]></title><link>https://blog.youkuaiyun.com/luo19890923/article/details/46828055</link><guid>https://blog.youkuaiyun.com/luo19890923/article/details/46828055</guid><author>luo19890923</author><pubDate>Fri, 10 Jul 2015 11:05:45 +0800</pubDate><description><![CDATA[数据库中一般操作有增删改查，如果是关系型数据库，那么使用sql即可，如查询 select,增加 insert，修改 update，删除 delete。
mongodb是nosql数据库，故不能这么使用，以下介绍其基本操作。]]></description><category></category></item><item><title><![CDATA[MongoDb环境搭建]]></title><link>https://blog.youkuaiyun.com/luo19890923/article/details/46827727</link><guid>https://blog.youkuaiyun.com/luo19890923/article/details/46827727</guid><author>luo19890923</author><pubDate>Fri, 10 Jul 2015 10:48:05 +0800</pubDate><description><![CDATA[一般我们使用的mysql，db2,oracle,sql server等都是关系型数据库，即就是以表格的形式存放数据的。而与之配套的sql如select * from xxxx等都是用来操作关系型数据库的。这里要介绍一款NoSql数据库，即使用对象存放数据，MongoDb数据库。
  
关于mongodb的好处，网上有，这里就不再详细说，其最大特点就是适用于分布式数据库。此处主要介绍搭建mong]]></description><category></category></item><item><title><![CDATA[WAS中性能优化配置]]></title><link>https://blog.youkuaiyun.com/luo19890923/article/details/45676371</link><guid>https://blog.youkuaiyun.com/luo19890923/article/details/45676371</guid><author>luo19890923</author><pubDate>Tue, 12 May 2015 22:38:32 +0800</pubDate><description><![CDATA[was即websphere application server的简称，是ibm的一种应用服务器，商业上使用较多。它属于一种中间件，可以通过配置它，可以极大的提高系统的性能和稳定性。 
一般web项目都要放在服务器上，在代码没有极大的漏洞的情况下，可以通过优化was来提供项目系统的性能，或者找出系统的性能瓶颈。 
一般都是配置was的线程池（即最大线程数），数据库的连接池（即数据库连接数），且配置需]]></description><category></category></item><item><title><![CDATA[jquery实现标签属性控制]]></title><link>https://blog.youkuaiyun.com/luo19890923/article/details/45509787</link><guid>https://blog.youkuaiyun.com/luo19890923/article/details/45509787</guid><author>luo19890923</author><pubDate>Tue, 05 May 2015 22:16:12 +0800</pubDate><description><![CDATA[这个与之前js通过标签属性控制数据时一样的，只是换成jquery的写法。 
1.jqueryfunction validation(formName){
    $("form [required]").each(function(i){
        if(!!!this.value){  
            var obj=$(this).parent(); //获取父元素]]></description><category></category></item><item><title><![CDATA[通过JS使用自定义属性处理数据]]></title><link>https://blog.youkuaiyun.com/luo19890923/article/details/45509455</link><guid>https://blog.youkuaiyun.com/luo19890923/article/details/45509455</guid><author>luo19890923</author><pubDate>Tue, 05 May 2015 22:01:55 +0800</pubDate><description><![CDATA[本文介绍使用标签中自定义的属性来处理数据，如添加一个required，pattern等属性，表示该数据必输，或者需要符合某个表达式。一般的html页面或者jsp页面中的标签，如input标签，都有一些属性，如maxlength规定最大长度等，但是还不足，有时候需要通过定义公共的js方法，其他页面都引入这个js，然后提交时就可以通过属性来达到某种控制。1.页面引入公共的js<script langua]]></description><category></category></item><item><title><![CDATA[Android全屏及屏幕切换]]></title><link>https://blog.youkuaiyun.com/luo19890923/article/details/45034407</link><guid>https://blog.youkuaiyun.com/luo19890923/article/details/45034407</guid><author>luo19890923</author><pubDate>Mon, 13 Apr 2015 23:42:43 +0800</pubDate><description><![CDATA[Android全屏及屏幕切换]]></description><category></category></item><item><title><![CDATA[安卓中配置一些属性]]></title><link>https://blog.youkuaiyun.com/luo19890923/article/details/44948073</link><guid>https://blog.youkuaiyun.com/luo19890923/article/details/44948073</guid><author>luo19890923</author><pubDate>Wed, 08 Apr 2015 22:35:09 +0800</pubDate><description><![CDATA[跳转到系统界面，配置属性，如网络连接，GPS等]]></description><category></category></item><item><title><![CDATA[安卓中获取一些状态]]></title><link>https://blog.youkuaiyun.com/luo19890923/article/details/44947659</link><guid>https://blog.youkuaiyun.com/luo19890923/article/details/44947659</guid><author>luo19890923</author><pubDate>Wed, 08 Apr 2015 22:10:19 +0800</pubDate><description><![CDATA[安卓中获取网络状态，GPS状态]]></description><category></category></item><item><title><![CDATA[获取文字拼音]]></title><link>https://blog.youkuaiyun.com/luo19890923/article/details/44839607</link><guid>https://blog.youkuaiyun.com/luo19890923/article/details/44839607</guid><author>luo19890923</author><pubDate>Thu, 02 Apr 2015 23:18:27 +0800</pubDate><description><![CDATA[有时我们需要获取文字的拼音，根据首字母排序，如城市，姓名等，此处给出两种方法。第一种需要引入第三方jar包，但是兼容GBK和UTF-8的编码。第二种不用引包，但是只在GBK下生效。 
我之前在新浪博客中也发过博文，具体可见地址 
Java中获取中文首字母这两种方法都是参考自网络，此处给出地址 
地址1 
地址2 
地址3以下为方法1源码 
jar包为pinyin4j，请百度下载public clas]]></description><category></category></item><item><title><![CDATA[图形验证码]]></title><link>https://blog.youkuaiyun.com/luo19890923/article/details/44838697</link><guid>https://blog.youkuaiyun.com/luo19890923/article/details/44838697</guid><author>luo19890923</author><pubDate>Thu, 02 Apr 2015 22:26:02 +0800</pubDate><description><![CDATA[图像验证码，一般用在登录或者注册时，其主要用途在于防止机器暴力攻击，频繁的去请求服务器。因为一般注册，登录这些操作，后台都要做比较多的事情，比如查多个表，记录日志等等，如果没有验证码，就很容易被人用程序对你服务器进行反复的攻击，导致你宕机。此处介绍如果在后台生成验证码，至于校验则先不讲。 
代码参考自网络，具体网址已忘记一般生成的验证码都是图片，用imagestream返回前端，前端页面用标签，sr]]></description><category></category></item><item><title><![CDATA[单例模式]]></title><link>https://blog.youkuaiyun.com/luo19890923/article/details/44658381</link><guid>https://blog.youkuaiyun.com/luo19890923/article/details/44658381</guid><author>luo19890923</author><pubDate>Thu, 26 Mar 2015 22:57:32 +0800</pubDate><description><![CDATA[保证该类只有一个对象，适用于对于配置文件的加载的情况。分为饿汉单例和懒汉单例两种//饿汉模式class Singleton1{    private static Singleton1 singleton=new Singleton1();private Singleton1(){};public static Singleton1 getInstance(){return singleton;}...]]></description><category></category></item><item><title><![CDATA[AlertDialog]]></title><link>https://blog.youkuaiyun.com/luo19890923/article/details/44657897</link><guid>https://blog.youkuaiyun.com/luo19890923/article/details/44657897</guid><author>luo19890923</author><pubDate>Thu, 26 Mar 2015 22:38:48 +0800</pubDate><description><![CDATA[AlertDialog即弹出的提示框，在安卓中用于显示信息，一般在布局xml中没有该控件，可在java类中直接创建
Builder build=new Builder(context);
build.setTitle("提示更新");
build.setMessage("有新版本，请更新！！！");
build.setPositiveButton("下载更新",new OnClickListen]]></description><category></category></item><item><title><![CDATA[安卓下载更新]]></title><link>https://blog.youkuaiyun.com/luo19890923/article/details/44657361</link><guid>https://blog.youkuaiyun.com/luo19890923/article/details/44657361</guid><author>luo19890923</author><pubDate>Thu, 26 Mar 2015 22:18:47 +0800</pubDate><description><![CDATA[声明，本文参考网络文章，连接在此  http://www.tuicool.com/articles/2qmEnm
本文只修改了下载的地址，下载一个小的apk，只有几百KB，方便测试。同时增加了下载百分比的数字显示


一般客户端都需要通过网络来更新，此处提供下载和安装的demo
1.MainActivity的布局xml如图

<LinearLayout xmlns:android="h]]></description><category></category></item></channel></rss>