javaSE
615156165
这个作者很懒,什么都没留下…
展开
-
关于字符串截取的工具类
一、利用字符串截取来进行解析url。package cn.jxau.yuan.utils;import org.junit.Test;public class ServletUtils { public static String urlUtil(String url){ //解析http://localhost:8080/action/UserServlet.action原创 2016-07-27 08:23:38 · 398 阅读 · 0 评论 -
对Map集合的遍历
一类是基于map的Entry;map.entrySet();(Set> entrySet() //返回此映射中包含的映射关系的 Set 视图。 Map.Entry表示映射关系。entrySet():迭代后可以e.getKey(),e.getValue()取key和value。返回的是Entry接口 。)一类是基于map的key;map.keySet();(将Map中所有的键存入到set原创 2016-07-31 10:44:22 · 287 阅读 · 0 评论 -
super()方法
super的作用。super出现在继承了父类的子类中。有三种存在方式:第一种super.xxx;(xxx为变量名或对象名)这种方法意义为,获取父类中的名字为xxx的变量或方法引用。使用这种方法可以直接访问父类中的变量或对象,进行修改赋值等操作第二种super.xxx();(xxx为方法名)这种方法意义为,直接访问并调用父类中的方法。第三种super();这种方法意义为,调用父原创 2016-08-28 20:36:42 · 2755 阅读 · 0 评论 -
java静态代码块static {}的用法
static{}称为static代码块 ,也叫静态代码块,是在类中独立于类成员的static语句块,可以有多个,位置可以随便放,它不在任何的方法体内,JVM加载类时会执行这些静态的代码块,如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次利用静态代码块可以对一些static变量进行赋值public class Test原创 2016-08-11 11:05:54 · 3162 阅读 · 0 评论 -
java动态之反射机制relection
JAVA的动态性 •反射机制•动态编译•动态执行javascript代码•动态字节码操作动态语言• 动态语言– 程序运行 时 , 可以 改变 程序结构 或 变量 类型。典型的语言:• Python 、 ruby 、 javascript 等。•如下javascript代码:原创 2016-08-11 21:50:39 · 570 阅读 · 0 评论 -
java动态代理
由于静态代理(很少用到)1、每一个代理类只能为一个接口服务,这样一来程序开发中必然会产生过多的代理。2、所有的代理操作除了调用的方法不一样之外,其他的操作都一样,则此时肯定会造成代码重复。因此动态代理就应运而生1、JDKProxy:jdk动态代理2、cglibProxy:cglib动态代理实现jdk动态代理的几大步骤和相关代码:一、接口package proxy原创 2016-08-23 22:42:39 · 473 阅读 · 0 评论 -
关于java中static一个有意思的小案例
package com.example;class Employee { private static Employee employee = new Employee(); public static int count1 = 0; public static int count2; private Employee(){ count1++;原创 2016-11-29 20:49:33 · 885 阅读 · 0 评论 -
java私有静态方法
我们都知道想要保护一些数据,只要设置为private,并且在java中static多少有一点“共享”的意味存在,那么既然已经private了,为什么还要static?这里有这样一段建议(c++的):After you mark the methods as static, the compiler will emit non-virtual call sites to these me原创 2017-02-16 22:22:14 · 5079 阅读 · 1 评论 -
关于URI和URL
URI,统一资源标识符,首先它是一个字符串。其次,它是一个可以唯一标识某一资源的字符串。URL,统一资源定位符,首先,它是一种URI,其次,它可以标识资源的路径。URN,统一资源名,首先,它是一种URI,其次,它代表资源的名字。原创 2017-02-22 15:47:37 · 241 阅读 · 0 评论 -
关于ThreadLocal的运用
Threadlocal1、 本地线程类2、 可以存放一个对象3、 Threadlocal对象只能当前线程访问,其他的线程是不能访问的4、 传递参数 ThreadLocal现在广泛用于各种框架中,例如:struts2,hibernate,spring,等中,用与进行松耦合的传递数据。例如: @Test /** * 利用ThreadLocal进行松耦合的传递数原创 2016-07-30 17:28:03 · 161 阅读 · 0 评论 -
将一个long型的数字转化为字节数组(利用IO流)
long a=10000L; //此类实现了一个输出流,其中的数据被写入一个 byte 数组。缓冲区会随着数据的不断写入而自动增长。可使用 toByteArray() 和 toString() 获取数据 ByteArrayOutputStream bos=new ByteArrayOutputStream(); //将一个 long 值以 8-byte 值形式写入基础输出流中,先写入高原创 2016-07-30 16:19:45 · 1616 阅读 · 0 评论 -
为什么要用实现接口的类实例化接口呢
一、接口不能实例化,用接口的实现类可以实例化,将实现类的对象在内存中的地址指向接口,这个接口就可以使用了二、实现接口的类 实例 = new 实现接口的类()// 这样用不好吗?//这样已经不是好不好的问题了,这样的话,要接口有什么用?//用接口就是让实例和实现类的耦合度降低。//让程序更加容扩展。以下是问题之外的知识,想看可以往下,不想看跳过。接口 实例 = new 实现接原创 2016-07-27 19:50:06 · 6380 阅读 · 4 评论 -
java为什么定义的变量在main中不能用?
因为main是static修饰的静态方法,只能访问静态变量,所以你可以用static修饰变量a,main方法是程序的入口,在此入口之前不会产生任何对象,所以如果main方法是非static的成员方法,jvm是无法调用的,就进不了入口,那么程序也无法运行。而static的main方法可以不需要产生对象而调用。原创 2016-07-28 17:52:49 · 2223 阅读 · 0 评论 -
java线程同步问题以及解决方案
package thread;public class TestSync implements Runnable{ Timer timer=new Timer(); public static void main(String[] args) { TestSync test=new TestSync(); Thread t1=new Thread(test); Thread t原创 2016-07-28 20:03:36 · 307 阅读 · 0 评论 -
java线程死锁问题
一、线程死锁:例如两个线程要想执行完成,这两个线程都必须要分别锁住o1,o2这两个对象。这时候就会有问题发生:Thread1现在锁住了o1,要去锁o2,但是发现o2已经被thread2锁住了; Thread2现在锁住了o2,要去锁o1,但是发现o1已经被thread1锁住了;这时就会陷入死锁状态,这两个线程都无法锁住o1和o2,也就是都无法执行原创 2016-07-28 20:39:47 · 231 阅读 · 0 评论 -
关于线程锁定的一道面试题
一、此时输出的为b=10001000这说明两个线程可以同时访问这两个方法原创 2016-07-28 21:00:23 · 226 阅读 · 0 评论 -
Object o;和Object o = null; 的区别
Object o; 这种写法只是分配一个引用而已。Object o = null; 这么写则是给引用指向了一个空对象。具体差别如下:class Test { public static void main(String[] args) { Object o1; o1.toString(); /*这里编译不能通过,编译器只认定o1是个引用,没指向任原创 2016-07-29 09:50:56 · 872 阅读 · 1 评论 -
描述消费者和生产者模式的代码(有些公司面试的时候会让你直接写一段代码)
package thread;/** * 生产者消费者模式 * @author 编程只服JAVA * */public class ProducerConsumer { public static void main(String[] args) { SyncStack ss=new SyncStack(); Producer producer=new Producer(s原创 2016-07-29 10:30:52 · 425 阅读 · 0 评论 -
java线程基础
package thread;import java.util.Date;public class Thread_02 { public static void main(String[] args) { Runnner1 runnner1=new Runnner1();//先new一个重写了Runnable接口的类的对象 Thread t2=new Thread(runnner原创 2016-07-28 16:47:32 · 162 阅读 · 0 评论 -
栈上分配内存(JAVA)
什么是栈上分配栈上分配是java虚拟机提供的一种优化技术,基本思想是对于那些线程私有的对象(指的是不可能被其他线程访问的对象),可以将它们打散分配在栈上,而不是分配在堆上。分配在栈上的好处是可以在函数调用结束后自行销毁,而不需要垃圾回收器的介入,从而提供系统的性能。栈上分配的一个技术基础是进行逃逸分析。逃逸分析的目的是判断对象的作用域是否有可能逃逸出函数体。下面的代码显示了一个逃逸的对象:publi转载 2017-04-26 22:19:00 · 1566 阅读 · 0 评论