java
文章平均质量分 51
一只懒懒的coder
Java高级开发
展开
-
eclipse/myeclipse注释模板的修改
Window --> Java --> Code Style --> Code Templates --> Comments --> types --> Edit /** * * 项目名称:${project_name} * 类名称:${type_name} * 类描述: * 创建人:${user} * 创建时间:${date} $转载 2014-02-27 23:03:32 · 587 阅读 · 0 评论 -
jdk1.6新特性
jdk1.6特性:一:Desktop类和SystemTray类在JDK6中 ,AWT新增加了两个类:Desktop和SystemTray。前者可以用来打开系统默认浏览器浏览指定的URL,打开系统默认邮件客户端给指定的邮箱发邮件,用默认应用程序打开或编辑文件(比如,用记事本打开以txt为后缀名的文件),用系统默认的打印机打印文档;后者可以用来在系统托盘区创建一个托盘程序.转载 2015-04-21 15:31:42 · 367 阅读 · 0 评论 -
Java虚拟机参数设置
今天在加载一幅图片时,eclipse报出如下错误:“Exception in thread "main" java.lang.OutOfMemoryError: Java heap space ”google了一下原来是图片太大了。可以设置jvm堆的最大值来解决。 首先, 打开Eclipse软件,选择菜单栏run,在二级菜单中选择 Debug Configurations,然后:在转载 2015-05-13 15:45:55 · 886 阅读 · 0 评论 -
触发Full GC执行的情况
除直接调用System.gc外,触发Full GC执行的情况有如下四种。1. 旧生代空间不足旧生代空间只有在新生代对象转入及创建为大对象、大数组时才会出现不足的现象,当执行Full GC后空间仍然不足,则抛出如下错误:java.lang.OutOfMemoryError: Java heap space 为避免以上两种状况引起的FullGC,调优时应尽量做到让对象在Minor GC转载 2015-05-13 14:06:30 · 421 阅读 · 0 评论 -
GC机制
tomcat启动参数,将JVM GC信息写入tomcat_gc.logCATALINA_OPTS='-Xms512m -Xmx4096m -XX:PermSize=64M -XX:MaxNewSize=128m -XX:MaxPermSize=64m -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -Xloggc:/var/log/searc转载 2015-05-13 14:09:26 · 460 阅读 · 0 评论 -
Java数据结构(一):线性表之开篇
1、线性表线性结构的特点是除第一个和最后一个数据元素外的每个数据元素只有一个前驱数据元素和一个后继数据元素。线性表是一个最简单的线性结构。线性表的操作特点主要是可以在任意位置插入和删除一个数据元素。线性表可以用顺序存储结构和链式存储结构存储。用顺序存储结构实现的线性表称作顺序表,用链式存储结构实现的线性表称作链表。链表主要有单链表,循环单链表和双向循环链表三种。顺序表和单链表各有优缺点,并且优缺点刚原创 2015-07-01 15:30:52 · 541 阅读 · 0 评论 -
Java数据结构(四):线性表之双向链表
java实现简单的双向链表,代码如下:package datastructure.linear.linked;import datastructure.exception.StructureException;import datastructure.linear.AbstractList;/** * @Description 双向链表实现 * @author mastery * @Date原创 2015-07-01 15:25:59 · 494 阅读 · 1 评论 -
Java数据结构(二):线性表之顺序表
顺序表采用数组实现,并且通过继承AbstractList类,下图为顺序表的存储结构图: 具体代码如下:package datastructure.linear.sequence;import datastructure.exception.StructureException;import datastructure.linear.AbstractList;public class Sequ原创 2015-07-01 14:46:31 · 637 阅读 · 2 评论 -
Java数据结构(三):线性表之单链表
链式存储结构存储线性表的方法是把存放数据元素的结点用指针域构造成链。指针是指向下一个节点的引用,由数据元素域和一个或若干个指针域组成的一个类称之为结点。链式存储结构的特点是数据元素间的逻辑关系表现在节点的链接关系上。本例中实现的链表结构都是带头结点的。具体代码如下:package datastructure.linear.linked;import datastructure.exception.原创 2015-07-01 15:17:49 · 454 阅读 · 0 评论 -
java 泛型
Technorati 标记: java,泛型,generic java泛型应用是java核心基础之一,从java 5开始引进泛型。如果你曾经使用过java Collection,那你已经算是接触过泛型了。在java Collection里使用泛型是一件很简单的事情,可泛型还具有很多你意想不到的作用。在深入了解泛型之前,首先来了解一下泛型的一些基本概念与原理。一、java 泛型转载 2015-07-04 14:26:15 · 634 阅读 · 0 评论 -
如何阅读GC日志
一名合格的java程序员应具备基本的使用JVM能力,了解其启动时的配置参数,并且能够理解GC的输出日志。sdfsd[百度](http://www.baidu.com)阅读GC日志是处理Java虚拟机内存问题的基础技能,它只是一些认为确定的规则,没有太多技术含量。 每一种收集器的日志形式都是由它们自身的实现而决定的,换而言之,每个收集器的日志格式都可以不一样。下面为两段典型的GC日志: 最前面原创 2015-07-20 13:14:53 · 691 阅读 · 0 评论 -
数据库索引
索引是对数据库表中一列或多列的值进行排序的一种结构,例如 employee 表的姓(name)列。如果要按姓查找特定职员,与必须搜索表中的所有行相比,索引会帮助您更快地获得该信息。 索引是一个单独的、物理的数据库结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。 索引提供指向存储在表的指定列中的数据值的指针,然后根据您指定的排序顺序对这转载 2015-07-15 17:42:28 · 447 阅读 · 0 评论 -
深入理解NIO系列 - Java NIO类概述
本篇博客的初衷是记录了博主本次阅读系列博客(Java NIO入门教程详解–链接见文末)全文过程中的一些笔记,描述了Java NIO中核心类以及其方法的作用;Buffer属性capacity:容量limit:上界,缓冲区的临界区,即最多可读到哪个位置position:下标,当前读取到的位置(例如当前读出第5个元素,则读完后,position为6)mark:标记,备忘位置大小...原创 2019-03-02 19:32:29 · 760 阅读 · 0 评论 -
深入理解NIO系列 - Selector详解
Selector简述A multiplexor of {@link SelectableChannel} objects.参照Java doc中Selector描述的第一句话,Selector的作用是Java NIO中管理一组多路复用的SelectableChannel对象,并能够识别通道是否为诸如读写事件做好准备的组件Selector的创建过程如下:// 1.创建Selector...原创 2019-03-02 19:33:22 · 748 阅读 · 0 评论 -
深入理解NIO系列 - Buffer详解
Buffer简介在Java NIO中,主要有三大基本的组件:Buffer、Channel和Selector,上一篇文章我们具体介绍了Selector,现在让我们深入理解下在实际编程中使用的最多的Buffer。定义首先先让我们来认识一下Buffer:A container for data of a specific primitive type.A buffer is a linear...原创 2019-03-03 19:04:23 · 779 阅读 · 1 评论 -
你还在为怎么学习烦恼嘛?思维导图学习法
Preface在上篇文章学Java该学什么?中描述Java知识体系时,我用到了一种工具-思维导图来建立起整个Java学习中的知识点。而这种方法被称之为思维导图学习法;思维导图学习法是我近来开始最常用的学习方法,也是我最推崇的一种学习方法,下面就让我带大家来认识一下思维导图学习法为什么用在学习的过程中,我们常常会使用记笔记、写博客的方式,这些都有利于提高我们的对知识的记忆;但慢慢的会发现,...原创 2019-03-09 13:35:50 · 701 阅读 · 0 评论 -
添加/删除 windows下Git右键菜单
从网上搜索了些方法,总结一下 不显示右键菜单:方法1: 安装的时候选择不添加右键菜单。方法2(绝对有效): 运行CMD Windows 64 输入命令(地址为git安装地址)cd "C:\Program Files (x86)\Git\git-cheetah"regsvr32 /u git_shell_ext64.dll Win原创 2015-03-16 14:08:49 · 4342 阅读 · 0 评论 -
简单的java缓存实现
提到缓存,不得不提就是缓存算法(淘汰算法),常见算法有LRU、LFU和FIFO等算法,每种算法各有各的优势和缺点及适应环境。 1、LRU(Least Recently Used ,最近最少使用)算法根据数据的最近访问记录来淘汰数据,其原理是如果数据最近被访问过,将来被访问的几概率相对比较高,最常见的实现是使用一个链表保存缓存数据,详细具体算法如下:1. 新数据插入到链表头部;2.转载 2015-03-14 22:06:57 · 501 阅读 · 0 评论 -
JavaEE动态改变请求参数
@SuppressWarnings("unchecked") Map map=request.getParameterMap();//获得请求参数集合 Method method=null; method=map.getClass().getDeclaredMethod("setLocked",boolean.class); //获得修改 参数原创 2014-08-10 11:07:36 · 579 阅读 · 0 评论 -
Eclipse快捷键大全
Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加) Ctrl+Alt+↑ 复制当前行到上一行(复制增加) Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了) Alt+↑ 当前行和上面一行交互位置(同上) Alt+← 前一个编辑的页面 Alt+→ 下一个编转载 2014-02-27 23:02:07 · 424 阅读 · 0 评论 -
java中日期处理方法
1. 获取系统时间可以通过Calendar或者Date默认构造函数或者实例得到,不过现在日期主要还是借助于Calendar来处理。另外还可以得到当前日期是一周的第几天(从星期天开始),一月以及一年的第几天 [java] public static String getCurrentTime(){ Calendar c = Calendar.getInstance转载 2014-02-27 23:01:35 · 628 阅读 · 0 评论 -
JAVA 读取XML文件
import java.io.File;import java.io.IOException;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.parsers.ParserConfigurationException;imp原创 2014-05-05 23:04:38 · 490 阅读 · 0 评论 -
map的三种遍历方法!
map的三种遍历方法! 集合的一个很重要的操作---遍历,学习了三种遍历方法,三种方法各有优缺点~~/** To change this template, choose Tools | Templates* and open the template in the editor.*/package cn.tsp2c.liubao;import java.原创 2014-05-14 22:35:56 · 529 阅读 · 0 评论 -
jdk1.5新特性
“JDK1.5”(开发代号猛虎)的一个重要主题就是通过新增一些特性来简化开发,这些特性包括泛型,for-else 循环,自动装包/拆包,枚举,可变参数, 静态导入 。使用这些特性有助于我们编写更加清晰,精悍,安全的代码。 下面我们简单介绍一下这些新特性。 1.泛型(Generic) C++通过模板技术可以指定集合的元素类型,而Java在1.5之前一直没有相对应的功能。一个集合可以放任何类型的原创 2014-05-10 20:21:34 · 509 阅读 · 0 评论 -
加载文件的方式
/** * 注:此处一定要用完整的的路径,但完整的路径不是硬编码,而是运算出来的*/First:直接读取,文件应放在与java工程相同等级 //InputStream ips = new FileInputStream("config.properties"); Second: //通过获取类加载器来加载文件 //InputStream ips = Re原创 2014-05-10 20:22:29 · 605 阅读 · 0 评论 -
位与字位与字节的区别?
1、位(bit) 来自英文bit,音译为“比特”,表示二进制位。位是计算机内部数据储存的最小单位,11010100是一个8位二进制数。一个二进制位只可以表示0和1两种状态(21);两个二进制位可以表示00、01、10、11四种(22)状态;三位二进制数可表示八种状态(23)……。 2、字节(byte) 字节来自英文byte,音译为“拜特”,习惯上用大写的“b”表示。 字节是计算机中原创 2014-05-10 20:26:21 · 3358 阅读 · 0 评论 -
Class.forName的作用
作用:返回字节码,一共有两种方式1、字节码曾经被加载过,已经存在java虚拟机中,那么直接返回这个字节码所代表的类2、JVM中不存在此段字节码,那么类加载器进行加载,加载进来后缓存在JVM中,下次可以直接使用原创 2014-05-10 20:22:55 · 474 阅读 · 0 评论 -
jdk1.4和jdk1.5的invoke方法的区别
jdk1.4和jdk1.5的invoke方法的区别jdk1.5:public Object invoke(Object obj,Object...args)jdk 1.4 public Object invoke(Object obj,Object[] args)按1.4的语法,需要将一个数组作为参数传递给invoke方法时,数组中的每个元素分别对应被调用方法的中一个参数所以调用c原创 2014-05-10 20:22:00 · 982 阅读 · 0 评论 -
使用POI读写word docx文件
目录1 读docx文件1.1 通过XWPFWordExtractor读1.2 通过XWPFDocument读2 写docx文件2.1 直接通过XWPFDocument生成2.2 以docx文件作为模板 POI在读写word docx文件时是通过xwpf模块来进行的,其核心是XWPFDocument。一个X原创 2014-05-21 23:21:02 · 2254 阅读 · 0 评论 -
类加载器的委托机制
与普通程序不同的是,Java程序(class文件)并不是本地的可执行程序。当运行Java程序时,首先运行JVM(Java虚拟机),然后再把Java class加载到JVM里头运行,负责加载Java class的这部分就叫做Class Loader。中文叫做类加载器。Java虚拟机中可以安装多个类加载器,系统默认三个主要类加载器,每个类负责加载特定位置的类:BootStrap,ExtClassL原创 2014-07-24 14:37:54 · 450 阅读 · 0 评论 -
log4j配置文件位置详解
自动加载配置文件:(1)如果采用log4j输出日志,要对log4j加载配置文件的过程有所了解。log4j启动时,默认会寻找source folder下的log4j.xml配置文件,若没有,会寻找log4j.properties文件。然后加载配置。配置文件放置位置正确,不用在程序中手动加载log4j配置文件。如果将配置文件放到了config文件夹下,在build Path中设置下就好了。原创 2014-07-09 15:20:49 · 572 阅读 · 0 评论 -
log4j/log4e的使用
log4j简介简单的说log4j就是帮助开发人员进行日志输出管理的API类库。它最重要的特点就可以配置文件灵活的设置日志信息的优先级、日志信息的输出目的地以及日志信息的输出格式。Log4j除了可以记录程序运行日志信息外还有一重要的功能就是用来显示调试信息。程序员经常会遇到脱离java ide环境调试程序的情况,这时大多数人会选择使用System.out.println语句输出某个变量值原创 2014-07-09 15:41:25 · 446 阅读 · 0 评论 -
org.apache.log4j.Logger详解
org.apache.log4j.Logger 详解1. 概述1.1. 背景 在应用程序中添加日志记录总的来说基于三个目的 :监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析工作;跟踪代码运行时轨迹,作为日后审计的依据;担当集成开发环境中的调试器的作用,向文件或控制台打印代码的调试信息。 最普通的做法就是在代码中嵌入许多的打印语句,这些打印语句原创 2014-07-09 15:42:27 · 602 阅读 · 0 评论 -
dbcp
http://www.zhiweinet.com/myeclipse/ 参数描述username传递给JDBC驱动的用于建立连接的用户名password传递给JDBC驱动的用于建立连接的密码url传递给JDBC驱动的用于建立连接的URLdri原创 2014-07-11 15:39:01 · 476 阅读 · 0 评论 -
数据库连接池的工作原理
对于共享资源,有一个很著名的设计模式:资源池(Resource Pool)。该模式正是为了解决资源的频繁分配﹑释放所造成的问题。为解决我们的问题,可以采用数据库连接池技术。数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。我们可以通过设定连接池最大连接数来防止系统无尽的与数据库连接。原创 2014-07-11 14:39:59 · 487 阅读 · 0 评论 -
显式调用构造函数时不能引用实例字段请解释为什么“显式调用构造函数时不能引用实例字段”
这里的显式调用构造函数应该是指继承时子类的构造函数中调用父类的构造函数吧。对象初始化时,调用父类的构造函数,早于子类成员变量的初始化,所以如2楼所说实例字段还没初始化。原创 2014-08-21 22:30:36 · 1913 阅读 · 0 评论 -
深入理解NIO系列 - Channel详解
Channel简介在Java NIO中,主要有三大基本的组件:Buffer、Channel和Selector,前面两篇文章我们具体介绍了Selector和Buffer,老规矩,就让我们继续慢慢地揭开Channel的神秘面纱吧!在Java NIO的世界中,Selector是中央控制器,Buffer是承载数据的容器,而Channel可以说是最基础的门面,它是本地I/O设备、网络I/O的通信桥梁,只...原创 2019-03-04 17:00:44 · 4206 阅读 · 1 评论