自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 Exchanger类中的exchange方法解决线程间通信问题

Exchanger类中的exchange(String x) 方法具有阻塞的特点,也就是说此方法被调用后等待其他线程来获取数据,如果没有其他线程取得数据,则就会一直阻塞等待下去。Exchanger类中的exchange(String x, long timeout,TimeUnit unit)查看官方API可知这个方法的作用是在制定的时间内没有其他线程获取数据,则会抛出异常接下来我们来

2017-03-31 22:31:06 1530

原创 Semaphore详解1

Semaphore类其实就是synchronized关键字的升级版,这个类主要作用就是控制线程并发的数量,而在这方面synchronized就有点力不足了,接下来我们就开始先了解一下Semaphore的一些常用方法就注意细节。在new 这个类的时候需要给这个类传递一个参数permits,这个参数是整数类型,这个参数的意思是同一时间内,最多允许多少个线程同时执行acquire方法和release

2017-03-30 22:07:50 4442

原创 初始MyBatis

MyBatis是一个灵活的DAO层解决方案,满足较高的性能要求,可以在很多场合使用,但一般以下场合不建议使用:a.      需要支持多种数据库或数据库有移植要求b.      完全动态SQL,例如:字段都要动态生成c.      使用的不是关系型数据库开发步骤:新建JAVA项目或WEB项目,导入jar包(下载地址http://pan.baidu.com/s/1sl0K

2017-03-27 21:23:55 708

原创 初始Lucene

Lucene是一个软件库,一个开发工具包,而不是一个具有完整特征的搜索应用程序。它采用的是一种称为反向索引(invertedindex)的机制。反向索引简单理解就是维护一个词/短语表,对于这个表中的每个词/短语,都有一个相关信息描述了有哪些文档包含了这个词/短语。这样在用户输入查询条件的时候,就能非常快的得到搜索结果,它本身只关注文本的索引和搜索。Lucene使你可以为你的应用程序添加索引和搜

2017-03-26 08:54:17 282

原创 handler机制

因为主线程不能执行耗时操作(如访问网络,下载数据等)需要在子线程中运行,因为代码是逐行执行到子线程时需要更新UI,而子线程有不能更新UI( SurfaceView,Progress组件除外),这时就引入了hander机制,接下来对handler的每个概念进行说明。主线程:Main Thread,又叫UI线程(UI Thread)Android启动程序时会替它建立一个MessageQueue

2017-03-21 16:48:31 256

原创 spring环境的搭建

在搭建spring环境之前,我们需要知道spring是解决对象创建的问题,可以说spring是万能的,不管是持久层,业务层,还是控制层都会用到spring而前边我们搭建的struts和hibernate现在大多数企业已经不用了,但这并不是说我们可以不学了,现在大多数企业在解决控制层较多的使用Spring MVC在解决持久层较多的是使用MyBatis虽然技术在不断地更新,但只要把struts,hib

2017-03-19 16:49:12 293

原创 Hibernate环境搭建

在学习hibernate之前,你的电脑必须安装数据库,这里我用的是mysql(mysql下载地址:http://pan.baidu.com/s/1slpUABV)方便对数据库的操作我用的数据库图形化管理工具是SQLyog(下载地址:http://pan.baidu.com/s/1kURKsdD)接下来进入主题步骤:1,创建一个工程,并导入hibernater所需要的jar包(下载地址:ht

2017-03-19 13:09:03 342

原创 Android数据库的增删改查(方式2)

前边已经讲过了Android数据库的增删改查的一种方式,第一种方式存在不足之处就是没有返回值,需要我们手动写sql语句,有时我们容易写错sql语句,所以不利于我们在开发中使用,google工程师也考虑到这种情况,帮我们封装好了方法我们只需要调用相应方法即可,查看源码可以知道这些方法在底层是在组拼sql,这里我们就不分析源码了,就说明一下每个方法怎么用。步骤:1:我的工程目录结构如下图

2017-03-19 10:37:22 835

原创 struts环境搭建

structs环境搭建很简单,只需要三步即可(hibernate,spring也是相同的)1,导入jar包(jar包下载地址:http://pan.baidu.com/s/1bSc5ye) 2,修改配置文件3,然后进行测试接下来我把每个步骤的详细信息写下来,一定要自己跟着做,切忌不要只看不敲。1:创建一个web工程,并把下载好的jar包全部复制到到/WEB-INF/lib目录下

2017-03-18 16:42:07 451

原创 Android数据库的增删改查(方式1)

昨天总结了在android下数据的创建今天来总结一下在android下数据库的增删改查的操作步骤:1:我的工程目录结构如下图2:创建一个类继承SQLiteOpenHelper并重写里面的onCreate和onUpgrade这两个方法代码如下package cn.wxz.crud;import android.content.Context;import android.

2017-03-18 09:47:34 1076

原创 Android下数据库的创建

首先我们需要明白,什么情况下使用数据库存储数据呢?大量数结构相同的数据时候需要使用数据库存储,常见的数据库有mysql sqlserver sqlite oracle等,在android下使用的是sqlite。在android下创建数据库的步骤如下:1,创建 一个工程,我这里创建的工程名是createSqlite2,创建一个类(Mysqlite)继承SQLiteOpenHelper

2017-03-17 22:07:51 440

原创 Linux系统文件说明

linux下一切皆文件,下面我们来了解一下Linux的系统文件:1:/ 顶级跟目录 所有其他目录都在文件系统层次的跟目录下2:/bin包含基本命令行实用程序3:/boot 包括Linux启动计算机时所要的命令或文件4:/dev列出可用的设备驱动程序。不能将这个目录转载到另外一个分区5:/etc包括基本Linux配置命令6:/home包括除根用户以外的所有用户的主目录7:

2017-03-15 13:15:33 337

原创 java 反射机制(通过getGenericSuperclass()方法获取到父类泛型的类型)

1. 在java中T.getClass() 或 T.class都是不合法的,因为T是泛型变量;     由于一个类的类型在编译期已确定,故不能在运行期得到T的实际类型;2.获取方式是:// 获取当前运行类泛型父类类型,即为参数化类型,有所有类型公用的高级接口Type接收! Type type = this.getClass().getGenericSuperclass(); /

2017-03-14 06:44:07 4749 2

原创 Activity的生命周期详解

1:查看官方文档,我们可以看到Activity的生命周期如图所示(android官方文档下载链接:http://pan.baidu.com/s/1skN3MGH)2:废话不多说,直接进入正题,下面先介绍每个方法的什么时候调用,然后再用代码一个一个演示。2.1:onCreate()方法是在activity初始化的时候调用的,通常情况下,我们需要在onCreate()中调用setC

2017-03-10 06:24:40 329

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除