- 浏览: 17638 次
- 性别:
- 来自: 湖南
最新评论
-
yangkyy:
new String(offset + beginIndex, ...
substring在JDK6和JDK7中的区别 -
mike.liu:
在一次优化性能的时候,惊讶于substring()的性能,出奇 ...
substring在JDK6和JDK7中的区别
文章列表
[(转)]JVM运行时是什么样子?
- 博客分类:
- java 基础
Java是在JVM上运行的,那么JVM运行时是什么样子?
对于JVM运行时的数据区的理解用一个图来显示很形象,下面的图显示JVM运行时的数据区。
每个线程的数据区
从图中可以看出,每个线程有program counter register(程序计数器),JVM Stack(JVM栈),和Native Method Stack(本地方法栈)。这三个区域都是基于每一个线程的,当一个线程创建的时候生成。
程序计数器: 每一条JVM线程都
我们从下面的语句开始介绍:
String x = null;
1、这句代码究竟做了一件什么事情?
让我们回忆一下什么是变量,什么又是的值,一个变量类似一个盒子。正如你可以用一个框来存储的东西,你可以用一个变量来存储值。当声明一个变量,我们需要设置它的类型。
java有两大类型:原始类型和引用类型。一个原始类型存储值声明的变量,一个引用类型存储引用声明的变量。在这种情况下,初始化语句声明了一个变量“x”。x表示的是String的引用,它的是为null。
通过如下的图提供了有关这个概念更好的描述。
如果 “x=abc”,它看起来像这样的
这是本人第一次翻译及时文档,如有差池,还请多多体谅,本人还是觉得,如果读者英文功底,还可以的话,建议看原文:http://www.programcreek.com/2013/09/the-substring-method-in-jdk-6-and-jdk-7/
为简单起见,列举如下例子来说明 ...
一、使用数据库连接池优化性能
1,一般来说,Java应用程序访问数据库的过程是:
①装载数据库驱动程序;
②通过JDBC建立数据库连接;
③访问数据库,执行SQL语句;
④断开数据库连接。
模型见附件:java应用程序访问数据库.png<!--StartFragment -->
缺点:用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长。
假设网站一天1 0万访问量,数据库服务器就需要创建10万次连接,极大的浪费数据库的资源,并且极易造成数 ...
1.文件上传(浏览器-->服务器) * 上传功能 * 浏览器可以选择文件 * 浏览器可以将选择的文件上传给服务器 * 服务器需要将上传文件保存到服务器本地 * 上传基本要求 * 1.提供input标签type属性的值,必须为file(不同的浏览器实现的效果不同) * 注意:input必须设置name属性,否则浏览器将不会发送内容 * 2.可以上传 * input必须放置在表单中 * 必须将表单的method设置成post(get提交的数据有限 ...
工具类:
package cn.lwy1521.utils;
import java.io.IOException;
import java.util.Properties;
public class PayConfig {
private static Properties prop = new Properties();
static{
try {
prop.load(PayConfig.class.getClassLoader().getResourceAsStream("merchantInfo.properties") ...
JDK动态代理中包含一个类和一个接口:
InvocationHandler接口:
public interface InvocationHandler {
public Object invoke(Object proxy,Method method,Object[] args) throws Throwable;
}
参数说明: Object proxy:指被代理的对象。 Method method:要 ...
Filter实现,这里需要从写父类的HttpServletResponse的response
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.zip.GZIPOutputStream;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import ja ...
表单提交的输出GET需要特殊处理,统一GET和POST中文处理 * getParameter方法功能不全, * 使用包装编写自定义Request对象,可以继承javax.servlet.http.HttpServletRequestWrapper类,简化代码开发
MyRequest类的实现:
import java.io.UnsupportedEncodingException;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servle ...
1.介绍 * servlet技术:Servlet、Filter(过滤器)、Listener(监听器) * servlet:能做什么 * filter: 是否能做 * listener:在做什么 * 过滤器Filter * sun提供对,静态web资源(html/image/avi等)或动态web资源(servlet,jsp),进行拦截(过滤)的技术 * 实现接口:javax.servlet.Filter2.过滤器编写流程 * 编写实现类 * 配置web.xml3.过滤器的生命周期 * 初始化方法 ...
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.Random;
import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.http.Http ...
控制台打印日历r小练习
- 博客分类:
- java 基础
public static void printCalendar() {
System.out.println("日 一 二 三 四 五 六");
Calendar c = Calendar.getInstance();
int days = c.getActualMaximum(Calendar.DATE);
int today = c.get(Calendar.DATE);//保存一下当前是几号
c.set(Calendar.DATE, 1);//把当前日期设置为本月1号
int w = c.get(Calendar.DAY_ ...
/*
@program 针对数组常见的操作
@author 李武杨
@datetime 2013-01-13 20:40
*/
import java.util.*;
class ArrayDemo4
{
//遍历数组的功能。
public static void printArray(int[] arr)
{
System.out.print("[");
for(int x=0; x<arr.length; x++)
{
if(x!=arr.length-1)
System.out.print(arr[x]+", &qu ...