Java

Java Annotation手册

版权声明:本文可以自由转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明作者:cleverpig(作者的Blog:http://blog.matrix.org.cn/page/cleverpig)原文:http://www.matrix.org.cn/resource/article/44/44055_Java+Annotation+Reflect.html关键字:java,annotation,reflect前言:在上篇文章《JavaAnn

系统 2019-08-12 09:30:13 1946

Java

Java程序之内存简单分析

对于不同的系统,程序运行内存的分配可能略有不同,这里只以最基本的4块做介绍。堆内存(Heap)是用于动态给new出来的对象分配空间(每个对象大小不定),堆内存比较大;对象的引用(一般在方法体内,new对应之后赋给一个引用),可以看成局部变量,在stack中分配空间(即栈内存);基础类型变量只分配一块内存(stack),引用类型变量占两块内存(heap,stack)。①Load到内存区(程序----我们编写的代码是存在硬盘上面的);②找到main方法开始执行

系统 2019-08-12 09:30:09 1946

Java

Java并发编程实践

第一章介绍线程的优点使用多处理器对异步事件的处理用户界面的更加响应性线程的风险1.安全危险2.活跃度危险3.性能危险线程无处不在1.定时器2.JSP3.RMI4.Swing和AWT第二章线程安全编写线程安全的代码,本质上就是管理对状态的访问,而通常都是共享的、可变的状态无论何时,只要有多余一个的线程访问给定的状态变量,而且其中某个线程会写入该变量,此时必须使用同步来协调线程对该变量的访问。在没有正确同步的情况下,如果多个线程访问了同一个变量,你的程序就存在

系统 2019-08-12 09:29:59 1946

Java

【java多线程与并发库】---传统java多线程<1>线

一.线程的基本概念1、入题:我们大家都知道,我们可以在一台计算机上同时聊天,看电影,下载视频等,完成上述任务的各个程序之间是完全相互独立的。但是他们在同一段时间内又同时处于运行状态。当然呢,它们在这一段时间内是分时使用计算机CPU时间的。只不过呢在CPU处理速度很快,划分的时间片段很短,所以给大家感觉上是多个程序在同时运行。2、进程:进程是程序的一次动态执行过程。这个过程包含了从程序代码从硬盘加载到内存、在内存中执行、执行结束等过程,实际上也就是进程的产生

系统 2019-08-12 09:29:59 1946

Java

Java开源 J2EE框架

Jofti【Java开源其它开源项目】Jofti可对在缓存层中(支持EHCache,JBossCache和OSCache)的对象或在支持Map接口的存储结构中的对象进行索引与搜索。这个框架还为对象在索引中的增删改提供透明的功能同样也为搜索提供易于使用的查询功能。Yan【Java开源IOC容器】Yan是一个非侵入式的对象反转控制容器(IOC容器)。它通过宣告式的方式把简单的组件组合起来从而构建出任意复杂的组件。这些简单的组件同样也

系统 2019-08-12 09:29:50 1946

Java

Java图像渐变

图像渐变我们大体想一下思路无非是这样:将图像所有的像素点的RBG,每个点就减去相同的量,而且这个量是个渐变的量。是的,就是这样,我们的程序也是这个思路,不过就是没有单纯的“想”这么简单了。我这里只编写了纵向渐变,还没有写其他复杂的渐变,以后慢慢研究吧。先看效果:原始图片:图像变暗渐变:图像变暗渐变:图像变亮渐变:图像变亮渐变:我们以图像渐变暗举例,渐变亮同样的道理,无非是一个减,一个加。1.我们要先拿到图片,这个不赘述了,就是获得图像的BufferedIm

系统 2019-08-12 09:29:50 1946

Java

带线程池的小服务器-Java实现

前两天,利用线程池技术(ThreadPool)写了个web服务器,其性能当然无法和apacheiis等相比,但基本的功能都有了,唯一欠缺的是无法解析动态页面,采用解释执行(asp模式的)效率太低,如果采用编译执行,要么自己编写一个编译器来编译整个动态页面,要么采用预编译,很复杂。。。。现在把代码拿出来晒一晒!由于只是初步的设计所以没有考虑到很多设计模式,代码在优化上很不到位,请各位高手不吝赐教。MainServer.java这是主服务文件,也是提供主线程的

系统 2019-08-12 09:29:48 1946

Java

Java的集合类

Java的集合类就好比一个容器,用来盛放Java类的对象。有些容器内所放的东西是可以操作的,而有些则是不可以的。Java的集合类是由java.util包所提供的,常用的有Map,Set和List,而Set和List实现了Collection接口。1.认识Collection接口Collection接口是Set接口和List接口的父接口,通常情况下不被直接使用,但定义了一些通用方法,通过这些方法可以实现对集合的基本操作。Collection接口的常用方法如下

系统 2019-08-12 09:29:46 1946

Java

java字符串应用之表达式解析器

一、表达式的组成1、数字2、运算符:+-/*^%=3、圆括号4、变量二、运算符优先级由高到低分别为:+-(正负号)、^、*/%、+-、=优先级相等的运算符按照从左到右的顺序计算三、关键技术点1、确定运算的优先级,从高到低分别为:原子元素表达式,包括数字和变量;括号表达式;一元表达式,取数的负数;指数表达式;乘、除、取模表达式;加、减表达式;赋值表达式。2、对于每一级别的运算,都由一个方法实现,在方法中先完成比自己高一级别的运算,再处理本级别的运算。因此,在

系统 2019-08-12 09:29:44 1946

Java

Java基于Socket文件传输示例

最近需要进行网络传输大文件,于是对基于socket的文件传输作了一个初步的了解。在一位网友提供的程序基础上,俺进行了一些加工,采用了缓冲输入/输出流来包装输出流,再采用数据输入/输出输出流进行包装,加快传输的速度。废话少说,先来看服务器端的程序。1.服务器端packagesterning;importjava.io.BufferedInputStream;importjava.io.DataInputStream;importjava.io.DataOut

系统 2019-08-12 09:29:40 1946

Java

Java语言实现简单FTP软件------>上传下载管理模

1、上传本地文件或文件夹到远程FTP服务器端的功能。当用户在本地文件列表中选择想要上传的文件后,点击上传按钮,将本机上指定的文件上传到FTP服务器当前展现的目录,下图为上传子模块流程图上传下载管理模块的实现(十一)"width="265"height="421"style="border:1pxsolidblack;"/>选择好要上传的文件或文件夹,点击“上传”按钮,会触发com.oyp.ftp.panel.local.UploadAction类的acti

系统 2019-08-12 09:29:36 1946

Java

java中函数使用变长参数

java中函数使用变长参数2010-01-0121:09当参数个数不确定时,开发者很想使用变长参数,让调用者以更灵活的方式调用。此种方法和方法重载有同样的效果,但是个人感觉比方法重载用着简洁。一直知道Java支持变长参数函数,然而项目中一直没有用到,前几天在项目中看到前辈大量使用变长参数,感觉有很好的效果。特别是API设计中能够解决很多不确定因素。下面是一个简单的变长参数示例变长参数使用的形式是Type...argsName,即类型+省略号+参数名Java

系统 2019-08-12 09:29:32 1946

Java

java jsp tomcat6 mysql 连接池配置

最近在网上看到的java+jsp+tomcat6+mysql连接池大多数是tomcat5的,很多都说得不详细,并且配置不起,让我们很费时间,也很脑火,今天我终于把最新的tomcat6+mysql的连接池配置成功了,现在分享如下:1.需要的文件:mysql-5.0.27-win32.zip(安装文件),mysql-connector-java-5.0.4-bin.jar(连接驱动程序),apache-tomcat-6.0.10.exe(安装文件)2.配置to

系统 2019-08-12 09:27:22 1946

Java

Java shuffle 算法

Fisher–Yatesshuffle基本思想(Knuthshuffle):Toshuffleanarrayaofnelements(indices0..n-1):forifromn−1downto1doj←randomintegerwith0≤j≤iexchangea[j]anda[i]JDK源代码如下:/***MoveseveryelementoftheListtoarandomnewpositioninthelist.**@paramlist*the

系统 2019-08-12 09:27:20 1946

Java

简单的Java调用Oracle存储过程

一、Oracle数据新建测试表和存储过程1、新建test表createtabletest(namevarchar2(5)primarykey,passwordvarchar2(5)notnull)2、新建带参数的存储过程pro_add_test用来向test表中插入一条数据createorreplaceprocedurepro_add_test(m_nameintest.name%type,m_passwordintest.password%type)is

系统 2019-08-12 01:54:56 1946