![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 51
普通网友
这个作者很懒,什么都没留下…
展开
-
Java解析IP数据库,工程文档
1. 工程介绍本工程doTestIP为eclipse(java EE)下创建的工程,JDK1.6实现的功能如下: 1、解析二进制的IP数据库文件 2、导出经过解析后的IP记录文档,只支持txt格式 3、支持查询IP的归属地 4、支持查询某地区的IP或者IP范围 5、能将数据分解成如下格式:,并批量插入数据库。(44万条数据,优化后耗时约60s) 2.转载 2016-05-17 08:38:28 · 365 阅读 · 0 评论 -
java内存机制_堆和栈
问题的引入:问题一:String str1 = “abc”; String str2 = “abc”; System.out.println(str1==str2); //true问题二:String str1 =new String (“abc”); String str2 =new String (“abc”); System.out.println(str1==str2); /原创 2016-08-03 18:57:50 · 557 阅读 · 0 评论 -
wait()、notify()和notifyAll()是 Object类 中的方法
从这三个方法的文字描述可以知道以下几点信息:1)wait()、notify()和notifyAll()方法是本地方法,并且为final方法,无法被重写。2)调用某个对象的wait()方法能让当前线程阻塞,并且当前线程必须拥有此对象的monitor(即锁)3)调用某个对象的notify()方法能够唤醒一个正在等待这个对象的monitor的线程,如果有多个线程都在等待这个对象的原创 2016-08-03 19:59:49 · 4584 阅读 · 0 评论 -
finalize()方法
《JAVA编程思想》:java提供finalize()方法,垃圾回收器准备释放内存的时候,会先调用finalize()。 (1).对象不一定会被回收。 (2).垃圾回收不是析构函数。 (3).垃圾回收只与内存有关。 (4).垃圾回收和finalize()都是靠不住的,只要JVM还没有快到耗尽内存的地步,转载 2016-08-18 09:52:16 · 8396 阅读 · 3 评论 -
BigDecimal的用法简介
用double参数来创建对象得到不精确的值,只有通过String来创建对象才是最准确的。例如:BigDecimal data1=new BigDecimal(0.05);System.out.println(data1.toString());BigDecimal data2=new BigDecimal("0.05");System.out.println(data2.toS原创 2016-08-12 16:39:07 · 271 阅读 · 0 评论 -
java 获取泛型(通过反射)
public static Class getSuperClassGenricType(final Class clazz, final int index) { Type genType = clazz.getGenericSuperclass(); if (!(genType instanceof ParameterizedType)) { return O原创 2017-02-12 22:52:02 · 432 阅读 · 0 评论 -
java.util.zip对zip文件解压
//通过构造方法,来创建一个新的ZIP输入流ZipInputStream in = new ZipInputStream(new FileInputStream("G:/jquery.calendar(source)v1.0.0.zip"));ZipEntry entry = null;//循环读取,getNextEntry() 方法是,读取下一个ZIP条目,并且将流定位到原创 2017-06-29 11:22:32 · 245 阅读 · 0 评论 -
解压中文名的zip时报错java.lang.IllegalArgumentException: MALFORMED
压缩/解压 zip 时遇到 java.lang.IllegalArgumentException: MALFORMED错误详情:SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".SLF4J: Defaulting to no-operation (NOP) logger implementationS原创 2017-06-29 12:43:38 · 2891 阅读 · 0 评论 -
Java反射实现几种方式
可以通过123实现给私有属性赋值Field field_qt = form.gettSswageTrtmt().getClass().getDeclaredField(runParam);field_qt.setAccessible(true); //反射 ,这里加入这个 ,不然会报错。说无法使用私有属性。转载 2017-08-08 11:34:29 · 4345 阅读 · 1 评论 -
session作用域
已知在session中保存了一个标识符为myuser的用户对象,用户名为"李白",看看javaee有多少种方法获取该用户名:用户名:用户名:用户名:${sessionScope.myuser.username}用户名:用户名: 用户名:用户名:用户名:$("body").append("${sessionScope.myuser.username}")javaee让我说你什么转载 2017-07-25 23:51:30 · 1934 阅读 · 0 评论 -
静态常量的初始化
静态常量的初始化可以放在静态代码块里面。但是注意不能包裹在try代码块里面,否则编译器会认为该初始化语句不一定能执行到。class A{ static final String s; static { s = "a"; /* try { s = "a"; //初始化静态常量不能包裹在try代码块里面。 } catch(Exception ex) { } */ }}转载 2017-07-26 00:43:38 · 2401 阅读 · 0 评论 -
获得指定高度杨辉三角数组方法。
public static int[][] getYangHuiTrigle(int height){ int[][] arr = new int[1][]; arr[0] = new int[1]; arr[0][0] = 1; if(height==1) { return arr; } else { int[][] arr2 = new int[height][]; a转载 2017-07-26 00:46:09 · 182 阅读 · 0 评论 -
一般人不容易想到的使用递归实现字符串的翻转。
public static void reverse(String s) { if(s.length()==1) { System.out.print(s); return; } else { String temp = s.substring(1); //递归调用; reverse(temp); System.out.print(s.charAt(0)); } }转载 2017-07-26 00:46:47 · 203 阅读 · 0 评论 -
顶级Java多线程面试题及回答
15个java多线程面试题及回答1)现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?这个线程问题通常会在第一轮或电话面试阶段被问到,目的是检测你对”join”方法是否熟悉。这个多线程问题比较简单,可以用join方法实现。2)在Java中Lock接口比synchronized块的优势是什么?你需要实转载 2017-07-26 00:51:49 · 650 阅读 · 0 评论 -
synchronized run()方法
最近编程有一个需求,需要某个线程只能有一个run()方法在执行,然后自然而然想到了用synchronized修饰run()方法来解决这个问题,详细代码如下: public class VolatileThread extends Thread { public synchronized void run() { for (int i = 0; i < 10; i++) {原创 2016-08-03 15:13:55 · 2608 阅读 · 0 评论 -
java 集合类Array、List、Map区别和联系
java集合类主要分为以下三类原创 2016-07-28 14:33:27 · 305 阅读 · 0 评论 -
java解析纯真IP数据库,查询IP,导出所有数据,插入oracle
机缘巧合之下,需要研究下IP数据库,这个库提供给的IP定位功能十分之有用。可以想象,他会被用在很多场合,电子商务需要统计网站流量的来源和分布,社交工具可以知道对方所在的位置等等;、 网络上,清华大学的某人,重写了介绍文档,言简意赅,行文清晰,同时提供了Demo,快速上手。 网上提供的查询IP的程序,写的比较混乱,方法笼杂在一起。同时存在数组越界访问的异常,类封闭性奇差,开放性转载 2016-05-17 08:39:19 · 660 阅读 · 0 评论 -
OCJP-试题集合 | 对象的比较
Boolean b1 = new Boolean(true);Boolean b2 = new Boolean(true);下面哪个能得到true的结果:A b1 == b2B b1.equals(b2)C b1&b2D b1 | b2E b1 && b2F b1 || b2 [解答]:除了A,其他的都是trueb1,b2两个是对象,两个对象的内容是相同转载 2016-05-17 08:47:56 · 269 阅读 · 0 评论 -
在Eclipse中配置struts2有2种
第一种:Struts是一个基于Model2的MVC框架,为应用程序的WEB层提供了良好的结构严谨的实现。很多企业级应用程序都是基于Struts开发的。工具/原料struts-2.3.16.1Eclipse下载strut21在官网下载最新版的原创 2016-07-11 08:47:47 · 464 阅读 · 0 评论 -
在Eclipse中配置struts2第二种
第二种:1.将Struts2的6个基础jar包,复制粘贴到WEB-INF/lib路径下,如果JAR包没有被开发工具自动加载到classpath中,选中所有的JAR,右键鼠标,,进行Build Path——>Add to Build Path2.新建web.xml,struts.xml等原创 2016-07-11 08:55:01 · 225 阅读 · 0 评论 -
浅谈Java中的Set、List、Map的区别
数组:大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型)集合:可以存储和操作数目不固定的一组数据。JAVA集合只能存放引用类型的的数据,不能存放基本数据类型。所有的JAVA集合都位于 java.util包中!JAVA集合主要分为三种类型: Set(集) List(列表) Map(映射) Collection 接口 :Collectio原创 2016-07-12 10:17:41 · 554 阅读 · 0 评论 -
java 静态(static)方法与非静态方法
1、静态方法中可以引用静态方法和静态变量,不可以引用非静态方法与变量。 这很好理解:因为静态方法不需要实例化类,可以直接用(类名.方法名)的方式调用。 假设静态方法可以操作非静态方法与变量,那么对于(类名.方法名)的这种方法调用方式, 那么其中的非静态变量就没有被实例化。(我们知道静态变量是不需要实例化的)。 老师上课的时候讲因为静态方法中没有this原创 2016-07-14 10:26:15 · 1299 阅读 · 0 评论 -
Java中常用的代码汇总
1. 字符串有整型的相互转换String a = String.valueOf(2); //integer to numeric string int i = Integer.parseInt(a); //numeric string to an int2. 向文件末尾添加内容?12345678910原创 2016-07-03 13:35:50 · 887 阅读 · 0 评论 -
内存
1.java中的内存溢出大都是因为栈中的变量太多了。其实内存有的是。建议不用的尽量设成null以便回收,多用局部变量,少用成员变量。2.String类相关的东西:1.字符串累加的时候一定要用StringBuffer的append方法,不要使用+操作符连接两个字符串。差别很大。而且在循环或某些重复执行的动作中不要去创建String对象,因为String对象是要用StringBuffe原创 2016-07-14 15:59:32 · 185 阅读 · 0 评论 -
Java中堆内存和栈内存详解
Java把内存分成两种,一种叫做栈内存,一种叫做堆内存在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。堆内存用于存放由new创建的对象和数组。在堆中分配的内存,由java虚拟机自动垃圾回收器转载 2016-07-04 12:43:54 · 199 阅读 · 0 评论 -
Java创建线程的两个方法
Java提供了线程类Thread来创建多线程的程序。其实,创建线程与创建普通的类的对象的操作是一样的,而线程就是Thread类或其子类的实例对象。每个Thread对象描述了一个单独的线程。要产生一个线程,有两种方法:◆需要从Java.lang.Thread类派生一个新的线程类,重载它的run()方法; ◆实现Runnalbe接口,重载Runnalbe接口中的run()方法。原创 2016-07-04 13:02:14 · 1018 阅读 · 0 评论 -
Java 单例模式详解
概念: java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种。 单例模式有一下特点: 1、单例类只能有一个实例。 2、单例类必须自己自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、原创 2016-07-04 19:55:39 · 201 阅读 · 0 评论 -
[eclipse]Syntax error on token ";",{ expected after this token
Syntax error on token ";",{ expected after this token 提示语法错误 根据eclipse提示,在“;”之后加上“{”,果然没有提示错误。 实际问题出在该语句前多了一个“}”,提前终结了类作用域,迷惑了eclipse原创 2016-07-06 18:06:17 · 62110 阅读 · 0 评论 -
详解JAVA高质量代码之数组与集合
Java高质量代码之数组与集合。原创 2016-07-28 13:01:10 · 254 阅读 · 0 评论 -
JAVA多线程和并发基础面试问答
Java多线程面试问题1进程和线程之间有什么不同?一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用。而线程是在进程中执行的一个任务。Java运行环境是一个包含了不同的类和程序的单一进程。线程可以被称为轻量级进程。线程需要较少的资源来创建和驻留在进程中,并且可以共享进程中的资源。2多线程编程的好处是什么?在多线程程序中,多个线程被并发的执转载 2017-07-26 00:53:31 · 182 阅读 · 0 评论