`
coolxing
  • 浏览: 870224 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
9a45b66b-c585-3a35-8680-2e466b75e3f8
Java Concurre...
浏览量:96008
社区版块
存档分类
最新评论
文章列表
[coolxing按: 转载请注明作者和出处, 如有谬误, 欢迎在评论中指正.]    1. 事务入门. 事务是一组操作的集合, 这些操作要么一起执行成功, 要么一起执行失败. JDBC和Mysql数据的事务命令如下: Connection.setAutoCommit(false)---start transaction Connection.rollback()-------------------rollback Connection.commit()--------------------commit Connection.setSavePoint()用于设置回滚点, ...
[coolxing按: 转载请注明作者和出处, 如有谬误, 欢迎在评论中指正.]    需要向数据库发送多条sql语句时, 为了提升执行效率, 可以考虑采用JDBC的批处理机制. JDBC的批处理机制主要涉及Statement或PreparedStatement对象的以下方法: |--addBatch(String sql) :Statement类的方法, 多次调用该方法可以将多条sql语句添加到Statement对象的命令列表中. 执行批处理时将一次性的把这些sql语句发送给数据库进行处理. |--addBatch(): PreparedStatement类的方法, 多次调用该方法可以 ...
[coolxing按: 转载请注明作者和出处, 如有谬误, 欢迎在评论中指正.] LOB(Large Object)分为CLOB和BLOB, CLOB表示文本数据, BLOB用于表示二进制数据. MySql存储文本数据使用的是TEXT而不是CLOB, MySql中的TEXT和BLOB分别分为: TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT, 占用的内存空间分别为256B, 64K, 16M, 64G. TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB, 占用的内存空间同上. 如果LOB数据过大, 并不适合使用数据库处理, 因为处理这些数 ...
  [coolxing按: 转载请注明作者和出处, 如有谬误, 欢迎在评论中指正.]    java.util.concurrent.locks包提供了锁和等待条件的接口和类, 可用于替代JDK1.5之前的同步(synchronized)和监视器机制(主要是Object类的wait(), notify(), notifyAll()方法). ...
coolxing按: 转载请注明作者和出处, 如有谬误, 欢迎在评论中指正.] 问题的描述 启动3个线程打印递增的数字, 线程1先打印1,2,3,4,5, 然后是线程2打印6,7,8,9,10, 然后是线程3打印11,12,13,14,15. 接着再由线程1打印16,17,18,19,20....以此类推, 直到打印到75. 程序的输出结果应该为:   线程1: 1 线程1: 2 线程1: 3 线程1: 4 线程1: 5   线程2: 6 线程2: 7 线程2: 8 线程2: 9 线程2: 10 ...   线程3: 71 线程3: 72 线程3: 73 ...
[coolxing按: 转载请注明作者和出处, 如有谬误, 欢迎在评论中指正.]   服务器应用程序经常需要处理执行时间很短而数目巨大的请求, 如果为每一个请求创建一个新的线程, 会导致一些问题的出现, 如: 1. 性能瓶颈. 线程的创建和销毁需要执行大量的后台操作, 如果单个请求的执行时间很短, 有可能花在创建和销毁线程上的时间大于真正执行请求的时间. 2. 可能会导致资源不足. 大量的并发请求意味着需要创建大量的线程, 过多的线程存在会吞噬大量的系统资源, 而且CPU需要在这些线程间不断切换, 这可能引发"切换过度"的问题. 为了适应上述场合, java在JDK ...
[coolxing按: 转载请注明作者和出处, 如有谬误, 欢迎在评论中指正.]   java的序列化机制支持将对象序列化为本地文件或者通过网络传输至别处, 而反序列化则可以读取流中的数据, 并将其转换为java对象. 被序列化的类需要实现Serializable接口, 使用ObjectInputStream和ObjectOutputStream进行对象的读写操作.   当然, java的序列化机制并非如此简单, 以下是个人总结的一些知识点:   1. 对象读取的顺序应该和写入的顺序一致, 而且读取的次数不能超过已写入对象的个数. 比如文件中仅仅存在2个对象, 就不能连续调用3次re ...
[coolxing按: 转载请注明作者和出处, 如有谬误, 欢迎在评论中指正.]   Service是android中的服务组件, 经常用来执行一些运行在后台的耗时操作. 使用一个Service需要继承Service类, 并根据需要重写生命周期方法. Service的生命周期如下: |-- public abstract IBinder onBind (Intent intent): 该方法是一个抽象方法, 因此Service子类必须实现这个方法. 它返回一个IBinder对象, 应用程序可以通过这个对象与Service组件通信(关于这一点, 其后会有详细的讲解), 以bindServ ...
[coolxing按: 转载请注明作者和出处, 如有谬误, 欢迎在评论中指正.]   ContentProvider是android中不同应用程序之间进行数据交换的标准API, 当一个应用程序需要将自己的数据暴露给其他应用程序使用时, 就可以通过提供ContentProvider来实现, 其他应用程序就可以通过ContentResolver来操作ContentProvider暴露的数据. ContentProvider是android应用的四大组件之一, 需要在AndroidManifest.xml文件中配置, 如下例: <provider android:name=". ...
[coolxing按: 转载请注明作者和出处, 如有谬误, 欢迎在评论中指正.]   获取SQLiteDatabase实例: 可以通过SQLiteDatabase类的静态方法获取其实例对象, 更一般的做法是通过SQLiteOpenHelper类创建SQLiteDatabase对象. 创建一个SQLiteOpenHelper子类, ...
[coolxing按: 转载请注明作者和出处, 如有谬误, 欢迎在评论中指正.]   什么是JSON: JSON即JavaScript Object Natation, 它是一种轻量级的数据交换格式, 与XML一样, 是广泛被采用的客户端和服务端交互的解决方案. JSON对象: JSON中对象(Object)以"{"开始, 以"}"结束. 对象中的每一个item都是一个key-value对, 表现为"key:value"的形式, key-value对之间使用逗号分隔. 如:{"name":"cool ...
[coolxing按: 转载请注明作者和出处, 如有谬误, 欢迎在评论中指正.]   多线程在所有编程语言中都是比较难以理解和掌握的, 这几天上网看了很多android多线程方面的资料, 在这里做一些总结. 什么时候使用多线程: 1. 耗时操作使用多线程, 耗时操作放在UI线程中会导致用户的操作无法得到响应. 2. 阻塞操作使用多线程, 理由同上. 3. 多核CUP的设备使用多线程, 可以有效提高CPU的利用率. 4. 并行操作使用多线程. android中的多线程模型主要涉及的类有:Looper, Handler, MessageQueue, Message等.  ...
[coolxing按: 转载请注明作者和出处, 如有谬误, 欢迎在评论中指正.]   最近在做一个天气预报的小课题, 其中涉及到了ListView的动态刷新, 以及如何在ListView上显示图片.   1. 在ListView上显示图片. 为了实现这个功能, 首先需要定义一个布局文件, 用于显示ListView的每个Item. 比如list_item.xml:   <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http:/ ...
Global site tag (gtag.js) - Google Analytics