java
文章平均质量分 67
com360
曾就职于神州数码,现就职于阿里巴巴,主要做Android应用开发。
展开
-
java 内存管理与垃圾回收
虽然java虚拟机有自动垃圾回收机制,但是如果对内存的管理不当的话,可能会出现内存溢出的问题,将可能会造成无法挽回的损失。在android上这样的移动设备更需对内存进行严格的管理。在这里只是探讨java的内存管理机制,以及如何解决内存溢出问题。如果哪里有不当的地方也请不吝赐教,大原创 2011-08-12 18:09:22 · 1884 阅读 · 1 评论 -
HttpClient的使用
此文章转自互联网http://www.blogjava.net/Alpha/archive/2007/01/22/95216.html。谢谢作者分享HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java.net 包中已经提供了访问 HTTP 协议的基本功能,但是对于转载 2012-03-26 17:51:01 · 925 阅读 · 0 评论 -
Cookies,SSL,httpclient的多线程处理,HTTP方法
转自:http://blog.csdn.net/bjbs_270/article/details/1682338、Cookies HttpClient能自动管理cookie,包括允许服务器设置cookie并在需要的时候自动将cookie返回服务器,它也支持手工设置cookie后发送到服务器端。不幸的是,对如何处理cookie,有几个规范互相冲突:Netscape Cookie转载 2012-03-27 09:43:45 · 1010 阅读 · 0 评论 -
HTTP 1.1状态代码及其含义
下表显示了常见的HTTP 1.1状态代码以及它们对应的状态信息和含义。应当谨慎地使用那些只有HTTP 1.1支持的状态代码,因为许多浏览器还只能够支持HTTP 1.0。如果你使用了HTTP 1.1特有的状态代码,最好能够检查一下请求的HTTP版本号。状态代码状态信息含义100Continue初始的请求已经接受,客户应当继续发送请求的其余部分。(H原创 2012-03-27 09:51:52 · 20011 阅读 · 0 评论 -
Java 理论与实践: 正确使用 Volatile 变量
原文地址:http://www.ibm.com/developerworks/cn/java/j-jtp06197.htmlBrian Goetz (brian.goetz@sun.com), 高级工程师, Sun Microsystems简介: Java™ 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量。这两种机制的提出都是为了实现代码线程的安转载 2012-03-29 16:27:49 · 548 阅读 · 0 评论 -
补充:http的介绍
http协议header的介绍http://kb.cnblogs.com/page/119118/原创 2012-06-07 15:31:37 · 2014 阅读 · 0 评论 -
android程序安全的建议
如果保证自己的程序更加的安全,可以通过以下措施,提高程序的安全1.不要把敏感数据存储在外部存储设备上,比如存储卡。把用户名密码存储在keystore内。2.ContentProvider要使用带参数的数据操作,防止sql注入。3.广播接收者,活动,服务等不需要其他程序访问,在清单文件中设置:android:exported的属性为false。也要设置过滤条件,或者增加访问权限4原创 2012-09-28 14:14:17 · 1052 阅读 · 0 评论 -
java程序员学C#基本语法两个小时搞定(对比学习)
对于学习一门新的语言,关键是学习新语言和以前掌握的语言的区别,但是也不要让以前语言的东西,固定了自己的思维模式,多看一下新的语言的编程思想。1.引包 using System;java用import2.构造函数和java语法相同3.析构函数 变量和类的对象都有生命周期,生命周期结束,这些变量和对象就要被撤销。 类的对象被撤销时,将自动调用析构函数。一些善后工作可放在析原创 2012-11-20 01:19:52 · 13311 阅读 · 2 评论 -
git仓库的组成
git仓库就是代码仓库的意思,不一定就存代码,就存放代码或者文件的地方。英文单词是Repository.git由什么对象组成的?git系统由三种对象组成,分别是(1)提交(commit)(2)树(tree)(3)原文(blob)根据三者之间的关系进行各个概念的讲解。先看一张图git的每一次提交是一个commit对象,这个对象中又包括这几个内容:tre原创 2013-06-27 16:30:15 · 5260 阅读 · 0 评论 -
深入探索 Java 热部署
简介在 Java 开发领域,热部署一直是一个难以解决的问题,目前的 Java 虚拟机只能实现方法体的修改热部署,对于整个类的结构修改,仍然需要重启虚拟机,对类重新加载才能完成更新操作。对于某些大型的应用来说,每次的重启都需要花费大量的时间成本。虽然 osgi 架构的出现,让模块重启成为可能,但是如果模块之间有调用关系的话,这样的操作依然会让应用出现短暂的功能性休克。本文将探索如何在不破坏转载 2013-10-31 17:34:28 · 1413 阅读 · 0 评论 -
定时任务为什么不用Timer
在做定时任务的时候,有的同学可能能会用到Timer这个定时任务的辅助类,但是使用它会有潜在的风险,风险如下,(1)时间计算不准确问题 因为Timer是以绝对时间计算定时任务的,会受到系统时间的影响,如果在任务执行期间,更改了系统时间,那么会导致时间计算不准确问题,导致任务没用按找预定的时间执行。(2)只能单任务执行 简单讲就是,只能一次执行一个任务,如果前一个任原创 2014-08-07 15:48:06 · 2915 阅读 · 0 评论 -
Java 正则表达式
Java 提供了功能强大的正则表达式API,在java.util.regex 包下。本教程介绍如何使用正则表达式API。正则表达式一个正则表达式是一个用于文本搜索的文本模式。换句话说,在文本中搜索出现的模式。例如,你可以用正则表达式搜索网页中的邮箱地址或超链接。正则表达式示例下面是一个简单的Java正则表达式的例子,用于在文本中搜索 http://转载 2014-08-12 13:18:41 · 1802 阅读 · 0 评论 -
Post方式发送http请求参数
public boolean uploadPostMethod(String path, Map params) throws IOException{ StringBuilder sb = new StringBuilder(); for(Map.Entry entry原创 2011-10-11 08:51:07 · 13614 阅读 · 0 评论 -
JNI
JNI是Java Native Interface的缩写。从Java 1.1开始,Java Native Interface (JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计原创 2011-08-29 16:37:53 · 695 阅读 · 0 评论 -
实现线程范围的共享变量
线程范围内的共享变量,每个线程只能访问他自己的,不能访问别的线程的。下面请看一个不安全的例子,这个例子中的data数据有安全问题,可以测试一下import java.util.Random;public class ThreadScopeShareData {原创 2011-09-18 23:31:25 · 1083 阅读 · 0 评论 -
java 中线程的创建方式,及对线程的个人理解
下面是两种传统的java创建线程的方法,什么是线程呢,就是在进程中在开出一点空间,同时运行另一个线索,或者叫另一个任务public class TraditionalThread { /** * @param args */ public static v原创 2011-09-17 23:23:46 · 779 阅读 · 0 评论 -
Java中线程安全问题个人理解
线程安全问题是一个比较高深的问题,是很多程序员比较难掌握的一个技术难点,如果一个程序员对线程掌握的很好的话,那么这个程序员的内功修炼的是相当的好。在这里我主要说一下我对java中如何保证线程安全的一些个人见解,希望对各位有所帮助,那里有不对的地方敬请给位不吝赐教。 线程原创 2011-09-18 12:33:49 · 1765 阅读 · 0 评论 -
java中的定时器Timer的使用及实例
在一个android项目中用过一个定时器,就是五分中之后没有对程序进行操作,让程序自动退出。现在写一下几个常用的方式,就以定时炸弹为例1,两秒之后炸弹爆炸//定义一个两秒之后的定时器,两秒之后爆炸 Timer timer1 = new Timer(); t原创 2011-09-18 00:31:07 · 3490 阅读 · 1 评论 -
对java面向对象的的理解
对面向对象的理解可能每个人的理解程度不一样,这样就导致了写的程序的差别很大,写的质量上也回差别很大。>中说的好,Everything is object.每个事物都可以被看成对象,都可以被抽象成对象。怎么抽象对象呢?请记住一个原则,那就是:谁拥有数据,谁向外提供操作数原创 2011-09-18 17:50:14 · 2541 阅读 · 0 评论 -
java中传统的线程通信个人见解
有一个使用共同数据的经验:要用到共同数据(包括同步锁)的若干方法,要放到同一个类里。体现了程序的高内聚,也增强了程序的健壮性。 还有一个经验,把同步代码或在和锁放到共同使用的数据上,而不是放在线程内,这样的好处是什么呢:首先是更符合面向对象的思想。其次是这种设计结构非常容易实原创 2011-09-18 18:41:46 · 1551 阅读 · 2 评论 -
ThreadLocal实现线程范围的共享变量
ThreadLocal的作用和目的:用于实现线程内的数据共享,即对于相同的程序代码,多个模块在同一个线程中运行时要共享一份数据,而在另一个线程中则共享另一份数据,线程的数据是独享的。 ThreadLocal的实现原理:每个线程调用全局ThreadLocal的set方法,就相当原创 2011-09-19 12:45:31 · 2751 阅读 · 1 评论 -
java中的线程池
线程池是java5之后新增的功能,使用呢线程池也至少是java5的jdk。什么是线程池呢,就先准备好若干个线程等待执行任务,只要任务来了,存放线程的容器就是线程池,然后从池子拿出一个线程来让这个线程进行服务。好处是什么呢?对于大量的任务来说,节省资源,不用频繁的创建线程和原创 2011-09-21 11:37:48 · 3430 阅读 · 0 评论 -
java中多个线程访问共享数据的方式有哪些
多个线程对共同数据的访问的实现,要根据情况而定(1)当访问共同的代码的时候:可以使用同一个Runnable对象,这个Runnable对象中有这个共享数据,比如卖票系统就可以这么做。或者这个共享数据封装在一个对象当中,然后对这个对象加锁,也可以实现数据安全访问。(2)当各个原创 2011-09-20 20:44:56 · 4227 阅读 · 1 评论 -
java中读写锁的实现及使用读写锁简单实现缓存系统的实例
读写锁是线程读写同一文件所需要用到的,读写锁是什么东西在这里不做过多的解释,可以自己去百度或谷歌去搜一下。谨在此附上我自己写的缓存系统的简单实现,你从中也能悟出缓存实现的基本思想缓存里面有数据就从缓存中取,没有就给你从其他地方得到。package cn.com.scl原创 2011-09-21 16:01:24 · 6837 阅读 · 3 评论 -
Lock和Condition实现线程通信(附阻塞队列的实例)
第一种情况:就使用单个Condition对象实现通信,方式同wait()和notify() condition是await()和signal(),其中condition对象是通过lock.getCondition()获得的;第二种情况:实现多路通信下面是一个例子,来原创 2011-09-21 17:22:26 · 4241 阅读 · 0 评论 -
java中的Callable和Future的使用和困惑
java中还提供了可以返回值的线程池,例子如下:import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurr原创 2011-09-21 12:20:29 · 10855 阅读 · 3 评论 -
Semaphore (信号量)管理访问数据的线程个数
一个计数信号量。从概念上讲,信号量维护了一个许可集。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个release() 添加一个许可,从而可能释放一个正在阻塞的获取者。但是,不使用实际的许可对象,Semaphore 只对可用许可的号码进行计数,并采取原创 2011-09-21 21:10:27 · 1773 阅读 · 0 评论 -
otto源码分析
otto这个开源项目是一个event bus模式的消息框架,用于程序各个模块之间的通信,此消息框架可以使得各个模块之间减少耦合性。此项目是支付公司square一个开源项目,项目托管于githubhttps://github.com/square/otto基本模型是,Android的组件可以注册监听,然后发送消息,接收消息,模式就是观察者模式,但是有别于java实现的原创 2014-08-17 17:54:23 · 4464 阅读 · 0 评论