java基础
Medlen
这个作者很懒,什么都没留下…
展开
-
java随机数生成函数
首先加载相应的包,相当于c++中的头文件1、import java.util.Random;然后定义一个对象r2、Random r=new Random();3、nextInt(x)方法用与获取 0-x 之间的整数数,不包括x。4、int s=r.nextInt(10); // s为 [0,9] 之间的任意整数如果要获取指定范原创 2017-07-23 11:58:44 · 6217 阅读 · 0 评论 -
HashMap、LinkedHashMap、HashTable、TreeMap、ConcurrentHashMap对比
首先看一下这几个类的继承类图1、HashMappublic class HashMap<K, V> extends AbstractMap<K, V> implements Map<K, V&a原创 2019-01-17 21:23:59 · 181 阅读 · 0 评论 -
ArrayList、LinkedList、Vector的比较
首先看一下继承类图:这三个类都实现了List接口,List能够存放多个元素,并且能够维护元素的次序,允许元素重复。1、ArrayListArrayList的底层数据结构是数组,因此在随机访问和存取上速度很快。缺点是ArrayList随机插入和删除数据的效率较低。ArrayList能够根据数据进行扩容,将所有数据拷贝到一个扩容后的数组中。2、VectorVector的底层实现和Arr...原创 2019-02-22 09:56:40 · 158 阅读 · 0 评论 -
String、StringBuilder、StringBuffer之间有什么区别
共同点:String、StringBuilder、StringBuffer都被final关键字修饰,因此不能被继承。不同点:效率上:StringBuilder > StringBuffer > String线程安全上:StringBuilder 非线程安全StringBuffer 线程安全String 非线程安全是字符串常量...原创 2019-02-23 20:02:17 · 127 阅读 · 0 评论 -
Java反射机制学习总结
1、什么是java反射机制java反射机制是在运行状态 中,对任意一个实体类,都能够知道这个类的所有属性和方法,对任意一个对象,都能调用它的任意方法和属性,这种动态获取信息以及动态调用对象方法的功能称为java反射机制。2、如何获取Class对象类名.class;对象名.getClass()Class.forName(全限定名)...原创 2019-02-24 11:29:42 · 164 阅读 · 0 评论 -
Comparable和Comparator的区别
最近在写程序时,用到了两个类的排序,因此要用到Comparable和Comparator接口,于是在这里总结一下这两个接口的区别。1、Comparable接口Comparable被认为是内比较器,因为排序逻辑必须在待排序对象的类中。若一个类实现了Comparable接口,则认为该类支持排序。比如:Integer、String、Long、Double、Character等类。接口定义:pu...原创 2019-02-28 16:18:45 · 129 阅读 · 0 评论 -
浅拷贝和深拷贝
1、浅拷贝:如果对象属性是基本数据类型,那么会将值直接传递到新的对象中去。如果对象属性是引用类型,那么则会将对象的引用传递到新对象中去,实际上两个对象的引用都指向同一个对象实例。2、深拷贝:不仅复制基本数据类型的对象,也会为引用类型的对象申请空间,并复制每个引用数据类型成员变量所引用的对象,直到所有可达的对象。...原创 2019-02-24 16:24:52 · 92 阅读 · 0 评论 -
什么是java内存模型(Java Memory Model,JMM)
之前在看关于java内存模型的相关博客时,感觉有些云里雾里,看完之后,一直无法给java内存模型下一个定义。导致一直对这个概念有些模糊,理解其相关内容也不太容易。然后,我从网上搜罗了各种关于,java内存模型的概念,这里做一个总结,希望对正在学习的人一个参考。首先看一下,维基百科给的描述:上面说: java内存模型描述了java编程语言中的线程是如何通过内存进行交互的。还有说:Java...原创 2019-02-19 15:29:28 · 226 阅读 · 0 评论 -
java List集合的三种遍历方法
List<Integer> list = new LinkedList<>(); list.add(1); list.add(2); list.add(3); list.add(4); list.add(5); list.add(6);1、For循环for(int i=0; i<list.size(); i++){ System.ou...原创 2019-02-25 21:25:42 · 3971 阅读 · 0 评论 -
抽象类和接口的区别
抽象类1.抽象类中可以构造方法2.抽象类中可以存在普通属性,方法,静态属性和方法。3.抽象类中可以存在抽象方法。4.如果一个类中有一个抽象方法,那么当前类一定是抽象类;抽象类中不一定有抽象方法。5.抽象类中的抽象方法,需要有子类实现,如果子类不实现,则子类也需要定义为抽象的。6、抽象类可以继承一个类实现多个接口接口1、接口在类内部定义可以被public、protected、priv...原创 2019-03-02 15:46:11 · 238 阅读 · 0 评论 -
java装箱和拆箱
1、什么是封箱拆箱封箱:自动将基本数据类型转换为包装器类型拆箱:自动将包装器类型转换为基本数据类型基本数据类型和包装器类型对应关系基本数据类型包装器类型byte(1字节)Byteshort(2字节)Shortint(4字节)Integerlong(8字节)Longfloat(4字节)Floatdouble(8字节)Double...原创 2019-03-02 20:14:41 · 170 阅读 · 0 评论 -
java类加载机制
最近发现用思维导图学习是个不错的方法,这里尝试用思维导图来写博客原创 2019-03-06 20:23:57 · 107 阅读 · 0 评论 -
HashMap源码分析
先从几个问题出发,然后通过源码分析,解决这几个问题。可以在看源码的时候时刻思考这几个问题,这样既有了目标也会对HashMap的运行原理有一个更深入的理解。HashMap的原理,内部的数据结构?讲一下HashMap中put方法的过程讲一下HashMap中get方法的过程HashMap中的hash函数是怎么实现的?还有那些实现方式(扩展)?HashMap怎么解决冲突?还有什么其他解决has...原创 2019-03-14 09:38:27 · 155 阅读 · 0 评论 -
java运行时数据区域
java的运行时数据区如下图所示包括:方法区、堆、虚拟机栈、本地方法栈、程序计数器。接下来介绍每个数据区的功能。 1、程序计数器定义:可以看成是当前线程所执行的字节码的行号指示器。功能:如同定义所说的那样,记录当前线程所执行字节码的行号。线程私有,也就是说每个线程都有一个程序计数器。对于native方法,该计数器的值为空。2、虚拟机栈线程私有。...原创 2018-12-29 17:34:55 · 809 阅读 · 0 评论 -
java垃圾回收机制
理解java运行时内存看这里:https://blog.csdn.net/weixin_38481963/article/details/85341338从解决三个问题来回答这个问题1、哪些内存需要回收?2、在什么时候回收?3、怎么回收?一、哪些内存需要回收那些没有到达GC Roots的引用链,并且经过一次标记、清理后仍然没有复活的对象哪些对象可以作为GC Roots?...原创 2018-12-29 16:25:58 · 223 阅读 · 2 评论 -
java跨平台原理
为什么需要跨平台:因为不同操作系统的指令集不同,因此需要针对不同操作系统来开发应用程序为什么java可以跨平台:简单来说是因为java虚拟机的存在。详细来说:java可以通过不同版本的java虚拟机来屏蔽不同操作系统间指令集的差异并且对外部提供一个统一的接口,通过这个统一的接口进行开发的程序,需要部署到不同的环境中时,只需要安装对应的java虚拟机即可。就相当于是提供了一个上层...原创 2018-12-28 16:56:00 · 217 阅读 · 0 评论 -
windows10系统 java JDK下载安装及环境变量配置教程
1、什么是JDK?JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。安装并配置好JDK后就可以编译并运行java程序了(jdk+命令提示符+记事本)。2、安装jdk下载安装jdk的官网地址为: http://www.oracle.co...原创 2018-03-12 19:51:03 · 11336 阅读 · 6 评论 -
java基本数据类型范围
java有三种基本数据类型:数值型、字符型、布尔型。 数值型又分为:byte、short、int、long、float、double 字符型为:char 布尔型为:boolean 下面代码输出这几种数据类型的取值范围以及所占据的空间public class data { public static void main (String []args) { Sy...原创 2018-04-21 20:13:18 · 527 阅读 · 0 评论 -
如何下载java API开发文档
点击这里进入java API下载官方网址:http://www.oracle.com/technetwork/java/javase/downloads/index.html进入后,向下拉,找到下图所在位置: 选择你想要下载的版本,这里我选择的是:Java SE 10 Documentation。 点击右侧下载,出现: 点击Accept License Agrement,然后就可...原创 2018-04-21 20:26:40 · 48808 阅读 · 17 评论 -
java 数据类型转换
java的类型转换遵循以下规则: 测试类型 转换后不会丢失数据的目的类型 byte short,int,long,float,double short int,long,float,double int long,float,double long float,double float double char...原创 2018-04-21 20:54:39 · 205 阅读 · 0 评论 -
Java 浮点数精度控制
1、String.format(String format,Object… args) Java中用String.format()来控制输出精度, format参数用来设置精度格式, args参数代表待格式化的数字。 返回值是格式化后的字符串。 Java API文档中的解释是这样的: 文档不好懂… 没关系 直接上代码!//精确到小数点后两位:public class t...原创 2018-08-27 23:57:56 · 8889 阅读 · 1 评论 -
通过JDBC向oracle数据库中插入Clob大对象
好记性不如烂笔头,今天刚刚学过Clob的插入和查询,写篇博客,以备后用首先创建一个包含大对象的表create table data( id varchar2(20), content clob );然后通过JDBC连接数据库并插入Clob大对象不多废话,代码如下:import java.sql.*;public class Test{ public static...原创 2018-10-31 16:27:48 · 2710 阅读 · 0 评论 -
oracle数据库驱动和url
Class.forName("oracle.jdbc.driver.OracleDriver"); //加载驱动String url = "jdbc:oracle:thin:@localhost:1521:orcl";String user = "scott";String password = "trigger";Connection co原创 2018-10-31 16:45:44 · 27866 阅读 · 2 评论 -
用JDBC中的Blob向oracle中插入和读取图片信息
import java.io.*;import java.sql.*;public class Test{ public static Connection con = null; public static String driver = "oracle.jdbc.driver.OracleDriver"; public static String url = "jdbc:ora...原创 2018-10-31 21:06:06 · 1200 阅读 · 0 评论 -
Java中链表的实现及其原理
链表有很多种类,这里总结双向链表public class SingleList&lt;E&gt; { private Node&lt;E&gt; first; private Node&lt;E&gt; last; private int size = 0; public void addLast(E e) { if(last==null) { last = ne...原创 2018-11-07 14:43:02 · 3585 阅读 · 1 评论 -
java 中\n\r\t\f的区别
总的概括一下:字符作用\n换行\r回车\t制表\f换页原创 2018-12-04 14:21:52 · 20349 阅读 · 2 评论 -
Java编程思想--数组
数组与其他种类的容器之间的区别有三个方面:效率,类型,保存基本数据类型的能力。效率:数组是一种效率最高的存储和随机访问对象引用序列的方式。类型:在泛型之前,其他容器在处理对象时,都将对象视为Object类处理,数组的优点是,你可以创建一个拥有某种数据类型的数组,这样可以防止你在编译期插入的错误数据类型和获取不当类型。保存基本数据类型的能力:数据可以持有基本类型,但是泛型之前的容器不能。...原创 2018-11-29 23:56:47 · 213 阅读 · 0 评论 -
ACM javaIO 快速 读写
在这里先比较一下三种输入方式(这里从文件中读取):第一种,Scanner类读取文件(in.txt,里面有从一到一百万的的整数)public class Main { public static void main(String[] args) throws IOException{ Scanner sc = new Scanner(new FileInputStream(&amp;amp;quot;in.txt&amp;amp;quot;...原创 2018-12-04 22:51:29 · 2771 阅读 · 8 评论 -
IDEA+JBoss配置EJB入门项目(附完整源码)
首先是环境:我用的是IDEA+jboss-as-7.1.1.Final;一、JBoss环境搭建这个自行百度;二、用IDEA创建EJB项目1、新建一个空的Java项目File --> New --> Project;然后一路点next,配置项目名。这里我的项目名为 EJBDemo ;结果如下:2、创建服务端Module选中项目名 --> 右键 --> N...原创 2019-04-14 16:15:57 · 4066 阅读 · 2 评论