
JAVA
文章平均质量分 56
学无止境-一只快乐的程序猿
这个作者很懒,什么都没留下…
展开
-
JAVA中函数调用参数传递的理解(值传递和引用传递的理解)
个人理解:JAVA语言总是按照值传递调用的,基本上所有的函数调用参数传递都是值传递。其实参数为对象的传递也是值传递,只是对象本身也是对堆区真实对象的引用,所以对象参数传递的结果是对象的引用的值拷贝(可以参照C++的指针去理解)。(以上是我截至到目前我对JAVA值传递和引用传递的理解)。下面做一系列测试验证我的理解:首先我定义一个要测试的类,考虑到深度拷贝,加上了clone的接口:p原创 2016-06-26 16:47:18 · 545 阅读 · 0 评论 -
JAVA 方法的重写
方法的重写(override)两同两小一大原则:方法名相同,参数类型相同子类返回类型小于等于父类方法返回类型,子类抛出异常小于等于父类方法抛出异常,子类访问权限大于等于父类方法访问权限。转载 2016-09-06 20:10:27 · 315 阅读 · 0 评论 -
JAVA类加载器理解
转载 2016-09-06 18:59:36 · 352 阅读 · 0 评论 -
JAVA 类型转换规则
java中如果碰到char、byte和short参与运算时,会自动将这些值转换为int类型然后再进行运算。这里a1和a2就自动转为int类型了,结果也为Int类型。把一个int类型赋值给byte需要转。java各基本类型变量之间运算操作的隐式转换总结:除了自增和自减操作不进行转化外,其它操作都是无long型时,所有非int类型均隐式转成int类型;有long类型时,所有类型都隐式转原创 2016-09-06 18:52:40 · 608 阅读 · 0 评论 -
JAVA 关键字和保留字
1,Java 关键字列表 (依字母排序 共50组):abstract, assert, boolean, break, byte, case, catch, char, class, const(保留关键字), continue, default, do, double, else, enum, extends, final, finally, float, for, goto(保留关键字转载 2016-09-06 16:35:23 · 1012 阅读 · 1 评论 -
JAVA servlet结构
Java中有关servlet的层级结构和常用的类的描述:1. GenericServlet类:抽象类,定义一个通用的、独立于底层协议的Servlet。2. 大多数Servlet通过从GenericServlet或HttpServlet类进行扩展来实现3. ServletConfig接口定义了在Servlet初始化的过程中由Servlet容器传递给Servlet得配置信息对象转载 2016-09-06 15:25:08 · 480 阅读 · 0 评论 -
JAVA 常用容器初始值大小
1.StringBuffer和StringBuilder初始化默认大小为16个字符2.HashMap初始化默认大小16,自增为2n.3.HashTable默认初始值为11,加载因子为0.75,自增为2n+14.ArrayList初始化默认值为10,自增为1.5n5.Vector初始化默认值为10,自增为2n原创 2016-09-06 14:54:59 · 2874 阅读 · 0 评论 -
JAVA Vector & ArrayList 的主要区别
Vector & ArrayList 的主要区别 1) 同步性:Vector是线程安全的,也就是说是同步的 ,而ArrayList 是线程序不安全的,不是同步的 数2。 2)数据增长:当需要增长时,Vector默认增长为原来一倍 ,而ArrayList却是原来的50% ,这样,ArrayList就有利于节约内存空间。 如果涉及到堆栈,队列等操作,应该考虑用Vector,如转载 2016-09-06 11:36:15 · 290 阅读 · 0 评论 -
JAVA 构造函数注意事项
识别合法的构造方法; 1:构造方法可以被重载,一个构造方法可以通过this关键字调用另一个构造方法,this语句必须位于构造方法的第一行; 重载:方法的重载(overload):重载构成的条件:方法的名称相同,但参数类型或参数个数不同,才能构成方法的重载。 2 当一个类中没有定义任何构造方法,Java将自动提供一个缺省构造方法; 3 子类通过super关转载 2016-09-06 11:25:30 · 1990 阅读 · 0 评论 -
JAVA 精度问题
double:小数点后15位float:小数点后7位原创 2016-11-14 16:08:45 · 392 阅读 · 0 评论 -
JAVA 队列增加和删除元素的几种接口比较
add方法在添加元素的时候,若超出了度列的长度会直接抛出异常。对于put方法,若向队尾添加元素的时候发现队列已经满了会发生阻塞一直等待空间,以加入元素。offer方法在添加元素时,如果发现队列已满无法添加的话,会直接返回false。poll: 若队列为空,返回null。remove:若队列为空,抛出NoSuchElementException异常。tak原创 2016-11-17 16:33:26 · 5632 阅读 · 0 评论 -
logback监控kafka debug日志
最近遇到调试kafka的问题:<logger name="org.apache.kafka" level="debug" />原创 2018-08-01 10:19:53 · 2030 阅读 · 0 评论 -
MongoDB初探及JAVA工具类封装
MongoDB 搭建及JAVA工具类封装MongoDB 搭建及JAVA工具类封装MongoDB 简介基本语法Mongo服务器搭建安装包下载环境变量配置Mongo基本配置Mongo起飞JAVA工具类封装MongoDB 简介 MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。Mong...原创 2018-05-05 00:12:43 · 4246 阅读 · 3 评论 -
JCE无限制权限策略文件
点击打开链接转载 2018-04-08 17:39:21 · 1774 阅读 · 0 评论 -
dubbo springMVC环境搭建
周末闲来无聊,花了一下午搭建了dubbo的demo应用:使用了zookeeper作为服务发现,dubbo-admin进行服务治理,jdk版本是1.8,文件列表如下:链接:https://pan.baidu.com/s/1htMEDm8 密码:0n9z 【网盘失效可以评论留言】1、zk.zip是配置好了的zk服务,启动了三台zk服务进行伪集群模拟2、dubbo-admin是配原创 2018-01-28 14:18:15 · 363 阅读 · 0 评论 -
linux下安装JDK
Java 环境变量配置:/etc/profile中的末尾添加(注意profile是一个文件,不是文件夹)exportJAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.60-2.b27.el7_1.x86_64exportCATALINA_HOME=/usr/dsep_tomcat/tomcatexportCLASSPATH=.:$J原创 2017-12-18 20:37:31 · 222 阅读 · 0 评论 -
JAVA8 特性
JAVA8 特性;Lambda;JAVA Stream流处理等原创 2017-09-20 21:38:16 · 371 阅读 · 0 评论 -
Thrift安装以及测试【java】
链接:http://download.youkuaiyun.com/detail/mantantan/9861020链接部分是windows的thrift的安装包以及我测试的一个JAVA的项目源代码1.thrift windows安装:将安装包的exe放在一个盘符下,路径最好是没用中文和空格,配置环境变量;我放在C盘下的thrift文件夹下了,并将名字修改为thrift.exe;这个时候后在C原创 2017-06-05 14:15:17 · 1478 阅读 · 0 评论 -
Java 位运算
转载:点击打开链接 // 1、左移( << ) // 0000 0000 0000 0000 0000 0000 0000 0101 然后左移2位后,低位补0:// // 0000 0000 0000 0000 0000 0000 0001 0100 换算成10进制为20 System.out.println(5 << 2);// 运行结果是20 // 2、右移( >> )转载 2016-08-25 09:22:40 · 255 阅读 · 0 评论 -
JAVA基本类型的取值范围
转载:点击打开链接在讲解基本类型的取值范围之前,先讲讲二进制怎么转换为十进制(算取值范围的时候会用到)。首先二进制有带符号的二进制和不带符号的二进制。比如:1111如果它是不带符号的二进制,那么它的十进制值 = 2^3 + 2^2 + 2^1 + 2^0 = 2^4 - 1 = 15如果它是带符号的二进制,那么最高位(千位)就是符号位,1代表负数,0转载 2016-08-29 16:19:42 · 733 阅读 · 0 评论 -
JAVA 类型转换
1.基本类型转换对基本类型转换,可以直接对相互允许的类型进行转换。如:double a=1.2;int b=(int)a;2.对象引用的类型转换(1)继承对象间允许由下往上的对象类型转换,编译器不会报错,运行正常。(2)如果由上往下类型转换时,如果要转换的对象类型和对象引用类型不符合编译通过,运行时抛如下异常: java.lang.ClassCastExcep原创 2016-07-07 09:10:34 · 221 阅读 · 0 评论 -
JAVA final关键字理解
将方法和类声明成final的目的是确保它们在子类中不会改变语义。1.如果程序猿希望阻止定义的类被继承可以将这个类定义为final的public final class Manager 这个Manager的类将不允许继承,当然它可以继承别人被声明final的类,类中的方法默认为final的,域值不会是final的2.如果我们仅希望基类中的某个方法不被继承,则在方法上加上f原创 2016-07-07 08:50:08 · 235 阅读 · 0 评论 -
JAVA函数调用的动态绑定
JAVA对象函数的执行过程如下:1.编译器查看对象的声明类型和方法名。 根据方法名和声明类型在基类的public方法和本对象的方法中寻找合适的方法接口。2.编译器查看参数类型从1过程中筛选的函数,找到参数类型相同的,调用。这个过程也成为重载解析。------到这里我做了个有意思的实验-------------------问题: 那么我调用形参类型为double和原创 2016-07-07 08:20:53 · 971 阅读 · 0 评论 -
JAVA ArrayList和LinkedList
文章来源:http://pengcqu.iteye.com/blog/502676一般大家都知道ArrayList和LinkedList的大致区别: 1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。转载 2016-07-26 21:44:32 · 252 阅读 · 0 评论 -
JAVA 利用Throwable和Thread分析堆栈跟踪元素
堆栈跟踪是一个方法调用过程的立标,它包含了程序执行过程中方法的调用的特定位置。可以使用Throwable类和Thread类提供的接口获取堆栈信息,进行分析调用情况。废话少说直接上代码: //方法1:查看堆栈中的文本信息 Throwable t= new Throwable(); StringWriter out=new StringWriter(); t.printStac原创 2016-07-14 19:56:10 · 1892 阅读 · 0 评论 -
HashMap存储原理
1. HashMap概述 HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 2. HashMap的数据结构 在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构转载 2016-07-14 11:21:12 · 517 阅读 · 0 评论 -
JAVA try、catch、finally执行理解
转载:点击打开链接这几天在看异常处理模块,感觉转发的这篇博文跟我理解的差不多,借花献佛,哈哈,你们懂得!关于try、catch、finally语句块中含有return语句的几点说明:1、第一种情况:try块有return语句,catch块没有return,函数末尾也没有return:看代码:import java.util.*;public class Demo{转载 2016-07-14 09:18:45 · 299 阅读 · 0 评论 -
JAVA 动态代理(proxy)的实现和源码分析
JDK动态代理(proxy)可以在运行时创建一个实现一组给定接口的新类。但是略有限制,即被代理的类必须实现某个接口,否则无法使用JDK自带的动态代理,因此,如果不满足条件,就只能使用另一种更加灵活,功能更加强大的动态代理技术—— CGLIB。Spring里会自动在JDK的代理和CGLIB之间切换,同时我们也可以强制Spring使用CGLIB。闲话少说,下面先用实例介绍使用方式,接着从proxy原创 2016-07-10 22:11:57 · 10685 阅读 · 3 评论 -
JAVA访问修饰符
1.仅仅对本类可见——private2.对所有类都可见——public 3.对本包和所有子类可见——protected4.对本包可见——默认(什么都不加)翻译 2016-07-07 09:42:44 · 219 阅读 · 0 评论 -
java 如何完美编写对象的equal方法
定义比较的对象叫otherObject步骤如下:1.检测this与otherObject是否为相同的引用if(this==otherObject) return true;2.检测otherObject是否为nullif(otherObject==null) return false;3.类型比较(1)如果较真到必须为同一个类,则使用getClass()原创 2016-07-07 10:48:33 · 705 阅读 · 0 评论 -
JAVA IO操作详解
IO操作详解:http://blog.youkuaiyun.com/yczz/article/details/38761237转载 2016-08-06 22:16:52 · 196 阅读 · 0 评论 -
JAVA RMI远程调用
JAVA RMI远程调用:http://haolloyin.blog.51cto.com/1177454/332426/JAVA RMI Spring配置:http://ithead.iteye.com/blog/1465299翻译 2016-08-06 22:15:41 · 314 阅读 · 0 评论 -
JAVA AOP浅谈
AOP(Aspect-Oriented Programming)其实是OOP(Object-Oriented Programing)思想的补充和完善。我们知道,OOP引进"抽象"、"封装"、"继承"、"多态"等概念,对万事万物进行抽象和封装,来建立一种对象的层次结构,它强调了一种完整事物的自上而下的关系。但是具体细粒度到每个事物内部的情况,OOP就显得无能为力了。比如日志功能。日志代码往往翻译 2016-08-05 10:41:53 · 850 阅读 · 0 评论 -
Java volatile 关键之的理解
http://www.cnblogs.com/aigongsi/archive/2012/04/01/2429166.html转载 2016-08-04 17:14:20 · 310 阅读 · 0 评论 -
Java 多线程相关知识 《java core 1》读书笔记
1.线程基本知识:线程的声明周期中的6个状态:(1)NEW 被创建至今尚未启动的线程处于这种状态。(2)RUNNABLE 可运行正在 Java虚拟机中执行的线程处于这种状态。处于可运行状态的某一线程正在 Java虚拟机中运行,但它可能正在等待操作系统中的其他资源,比如处理器。(3)BLOCKED 被阻塞受阻塞并且正在等待监视器锁的某一线程的线程状态。处于受阻塞状态的某一原创 2016-07-31 21:54:04 · 515 阅读 · 0 评论 -
JAVA 线程池的理解
http://www.cnblogs.com/kinghitomi/archive/2012/01/19/2327418.html翻译 2016-07-31 15:49:51 · 218 阅读 · 0 评论 -
Java 强引用、弱引用、软引用、虚引用
链接一 点击打开链接链接二 点击打开链接翻译 2016-07-31 14:36:33 · 263 阅读 · 0 评论 -
Java 反射机制的理解
这两天把JAVA的反射机制看了一遍,回味真的很酸爽,应该说很痴迷和很敬佩JAVA设计者的睿智,太完美了,简直是对C++设计者的一种藐视(原理我的无知,我只是想表达下JAVA的反射有多么强大和完美)。首先定义一下什么是反射:JAVA开发者使用反射大多是为了动态的操纵JAVA代码。能够分析类能力的程序为反射。反射机制可以用来:在程序运行中分析类的能力。(比如获取类的各项参数方法,根据类原创 2016-07-08 11:17:22 · 1228 阅读 · 0 评论 -
启动tomcat报 Failed to start component
https://www.cnblogs.com/qianzf/p/7130303.html?utm_source=itdadao&amp;utm_medium=referral转载 2018-11-23 11:48:58 · 1012 阅读 · 0 评论