![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 72
zhuzg2005
这个作者很懒,什么都没留下…
展开
-
java 四种引用
http://www.cnblogs.com/huajiezh/p/5835618.html⑴强引用(StrongReference) 强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。 ps:强引用其实也就是我们平转载 2017-09-01 18:35:47 · 129 阅读 · 0 评论 -
利用流的机制,Java对象与文件的相互转换
/** * 编写一个工具类 将对象转储为文件 * 以及从文件读取一个文件到对象当中 * 注意在使用本工具类的时候需要将相应的obj 进行序列化 * */public class FileObj { /** * * @param obj 将要保存的对象 * @param filePath 对象转储文件的位置 */ ...原创 2018-12-07 22:29:46 · 1317 阅读 · 0 评论 -
快速入门dubbo?
dubbo 是什么?官网介绍: Apache Dubbo™ (incubating)是一款高性能Java RPC框架。更确切说是微服务治理框架结构。RPC:(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议 客户机对服务器的RPC调用,其内部操作大致有如下十步:1.调用客户端...原创 2018-12-05 21:12:09 · 119 阅读 · 0 评论 -
深入理解Java 中String、StringBuffer、StringBuilder区别
Java中String、StringBuffer、StringBuilder三者的区别经常被面试官问到,大部分的回答基本处于内容是否可以改变以及线程是否安全的层面回答,这样回答不错,但是并不够深入。String 是final类,数据存在一个final数组当中,内容不可改变。只要对字符串运算,如substring,replace,等都是生成新的字符串,所以在进行大量的字符串运算的时候不能不能使用...原创 2018-12-03 18:35:13 · 121 阅读 · 0 评论 -
Java常用类介绍之System
Java System类提供的功能中主要有以下几个方面,有标准输入、标准输出和错误输出流; 外部定义的属性访问以及环境变量的访问; 加载文件和动态库的方法; 快速复制数组的实用方法。 提醒系统垃圾回收 结束虚拟机下边分别说一下。第一、标准输入输出以及错误输出。 关于这一点初学Java的可能都已经会使用了,最典型的输出就是System.out.println("hello...原创 2018-12-03 21:28:36 · 122 阅读 · 0 评论 -
Java常用重要类Runtime
顾名思义,Runtime获取运行时的系统信息或运行时处理一些系统的工作。这里主要列举几个常用的功能。执行外部命令有时候我们可能需要调用一些外部的系统命令或者其他应用程序,我们就可以使用本函数,但是需要防止意外安全情况的发生,千万不要做出删库跑路的行为。该函数如下 Runtime.getRuntime().exec();下边写一个例子如何调用,为了安全起见,我自己写一个wind...原创 2018-12-03 21:58:10 · 109 阅读 · 0 评论 -
Java处理子字符串折半并倒序输出的算法。
下面是一个Java初学算法的问题,实现方式很多,本文给出一个答案。问题如下: 设计一类StringProcess处理从控制台中输入的字符串,编写方法process接收字符串参数,方法process根据字符串中字符的个数为奇数或偶数做如下出现,如果输入字符串长度为偶数,从中间一分为二,前后两段分别倒序输出,例如输入12346790,输出两行数据分别为4321和0976;如果输入字符串长度为奇...原创 2018-12-04 07:51:23 · 315 阅读 · 0 评论 -
Java 的控制台输入数据并排序的问题
题目如下: 设计一程序,要求从控制台输入10个数字,使用冒泡排序并将结果输出,如何输入非数字程序需要给出友好提示,可以重新输入。本题看起来很简单,仅仅是一个排序的问题,用二维循环写一个冒泡就好了,但是实际上关于友好的处理输入问题是比较麻烦的事情。 public static void main(String[] args) { Scanner sca...原创 2018-12-04 07:59:11 · 872 阅读 · 0 评论 -
Java 处理利用递归算法处理排列组合问题
Java处理排列组合问题可以使用递归算法。举例:中日各有5个乒乓球运动员。中方的战斗力分别为:100、98 、96、96、94、92. 日本的运动员战斗力分别为99、97、95、93 、91 问:中方固定顺序,日方打乱顺序,有多少种组合,分别是什么? 各种组合情况下哪个队赢?这个题目和经典的题目田忌赛马是一样的,但是因为田忌赛马的数量太少,不容易看出效果。直接上代码。 首先...原创 2018-12-04 08:50:30 · 678 阅读 · 0 评论 -
Java 线程常用API介绍
getId() 获取线程的idyield()sleepstartrunstopinterrupt:Interrupts this thread.interrupted:静态方法,返回当前的线程的是否有interrupt信号,调用的就是isInterruptedisInterruptedisAlive suspend <--->...原创 2018-12-13 21:25:45 · 492 阅读 · 0 评论 -
Java 如何获取一个泛型的T .class
在实际工作当中,为了方便和通用性,我们常常会定义泛型类。也就是类型参数化。Java在编译的时候实际上有类型擦出的,也就是泛型只是在写代码的时候为了方便阅读才显示的列在那里,而字节码里边却是没有该类型信息的。事实上我们定义泛型类以后又会需要获取泛型的class,这该怎么解决呢?本文给出如下解决方案,如下是笔者工作中的一个实际例子的部分代码,省去业务部分。首先定义泛型类,我们让该类为抽象类...原创 2018-12-15 19:12:56 · 5985 阅读 · 0 评论 -
Springboot 散碎知识点的总结
启动方式:内嵌tomcat容器的启动方式:直接打成jar包,然后 java -jar demo.jar > log_demo.file 2>&1 & 即可。 使用外部Tomcat容器: 添加如下依赖 <dependency> <groupId>org.springframework.boot</groupId&...原创 2018-12-11 22:18:02 · 328 阅读 · 0 评论 -
利用Java反射机制编写一个生成将对象转换成Json的工具类
本文介绍一个将对象转换成JSON字符串的方法,如下代码仅仅是转换一维,如果打算转换多维可以使用递归即可。/** * 将一个Bean转换成json的工具类 */public class JsonTools{ /** * ""{ name:'davaa'} * @param o * @return */ static public ...原创 2018-12-07 22:20:15 · 505 阅读 · 0 评论 -
java 利用反射机制与注解实现自己的ORM对象关系映射
很多初学Java关于注解的与反射的应用场景比较模糊不清。本文以例子来说明一个应用场景。注解的应用必须包含三个步骤才具有实际价值,这三个步骤分别是定义注解、使用注解和解释注解。而解释注解的部分常常是通过反射来实现的,在解释之后往往还要借助反射机制完成注解要表达的功能。下边就有这样一个要求。自定义注解,实现实体Bean与数据库库表以及字段之间的映射关系,并根据要求生成查询的sql语句。下别...原创 2018-12-07 21:57:56 · 612 阅读 · 0 评论 -
Java HashMap 应用详解
构造器public HashMap() // 默认构造器 容量为0 加载因子 0.75public HashMap(int initialCapacity) //构造器 容量为initialCapacity 加载因子 0.75HashMap(int initialCapacity, float loadFactor)//构造器 指定容量和加载因子public HashMap(Map...原创 2018-12-05 11:51:44 · 211 阅读 · 0 评论 -
源码级理解Java的String类型(之二)
本文是系列文章的第二篇,主要讲述的是String的hashCode 字符串的拼接。 流与字符集的转换 codePointAt 用法 首先说说String的hashCode 计算办法:我们知道Integer的hashCode就是数值本身,那么字符串类型的如何计算的呢?源码中注释已经说明了他的算法: s[0]*31^(n-1) + s[1]*31^(n-2) + ... ...原创 2018-12-02 10:11:44 · 171 阅读 · 0 评论 -
分分钟使用Maven搭建Springboot的环境,实现SSM
springboot省去了开发过程中的大量配置环境,让开发速度大大提升。本文可以让springboot小白使用Eclipse分分钟之内可以迅速搭建一个基于springboot的开发环境。第一步:创建项目上图中filter 部分输入web 创建web工程,点击next。输入坐标,也就是被圈中的两项,然后完成,创建工程部分结束。 第二步: 引入依赖并配置编译插件 ...原创 2018-12-02 10:43:33 · 195 阅读 · 0 评论 -
Java各个集合类的扩容机制
Java 中提供了很多的集合类,诸如map 、list、set等等。他们的扩容机制不尽相同。下边分别介绍一下。ListArrayList ArrayList以数组的形式存储。 ArrayList有与容量相关的构造器有两个,一个是ArrayList(int initialCapacity), 另外一个是ArrayList(),前者没有指定容量的大小,在初始创建的时候容量是0,在第一扩容的...原创 2018-12-04 20:56:07 · 2777 阅读 · 1 评论 -
Java LinkedList 与ArrayList性能对比
ArrayList的存储结构是数组,而LinkedList开始链状结构存zai的。在追加数据的时候,ArrayyList会涉及到扩容和数组的拷贝的问题,而LinkedList没有这个问题, 所以想当然以为ArrayList的效率会低于LinkedList。但是经过测试,结果不是这样的。先看插入的效率下边是测试代码,分别向ArrayList 、Vector和LinkedList 插入五百万条...原创 2018-12-04 22:13:21 · 254 阅读 · 0 评论 -
使用Java统计某个目录下各种类型文件的数量
在日常工作中经常会统计一些数据,下面介绍一个例子,如何统计某个目录下边各种文件类型的文件数量。本例子使用到了递归的算法,字符串的常用运算,文件的处理以及集合类的使用。是一个比较好的学习例子。/** * 统计某个目录下所有各种文件类型的数量 */public class StaticFile { public static void main(String[] args) ...原创 2018-12-04 22:17:37 · 3479 阅读 · 0 评论 -
关于Java的基本类型你真的了解了清楚了么
很多应聘者到企业面试Java工程师的常常会被问到,你能给我说一下Java的基本类型么? 基本上大部分人能够顺口溜一样就把八个基本类型说了一遍,倘若有面试官愿意深究的话就会顺便问下他们之间的区别,但是如果面试官不深入问的话,这个问题也就过去了。当深入去问的时候常常很多人开始云山雾罩,不知所云了。这其实就是Java的一个最基本的知识,不管工作经验怎么样,如何仅仅注重实操,对此也应该要必须掌握的。下...原创 2018-11-30 21:29:52 · 104 阅读 · 0 评论 -
进制转换问题
最近公司在招聘开发工程师,想考察一下他们的基本功和常识。问了进制转换的问题,有很多人就彻底懵逼了,其实进制转换就是高中学习的排列组合的问题。想必大家碰见过这样的问题。有三个抽屉,现在又7种颜色的球若干。现要求每个抽屉必须放且只能放一个球,问多少种放法。其实这就是每个抽屉都有7个选择的机会,而他们相互之间是不会干扰的,所以他们的方法就是7X7X7个。而在不同的进制当中也是这样的算法,二进制每一个...原创 2018-11-30 21:58:04 · 465 阅读 · 1 评论 -
JVM内存模型中每个部分到底存了哪些内容?
Java内存模型存放数据 程序计数器 每条线程的程序计数器,相互独立,线程私有的。 若线程正在执行Java 方法,则计数器记录正在执行的虚拟机字节 码指令的地址;若正在执行Natvie 方法,则计数器值(Undefined) 是唯一一个没有任何OutOfMemoryError 的区域 内部方法栈 地方法栈区域可能会抛出StackOve...原创 2018-11-30 22:32:26 · 1779 阅读 · 0 评论 -
JVM类的加载过程到底是怎么样的?
关于描述JVM加载类的过程的文章数不胜数,常常都非常地冗长,本文试图以最精简的内容描述清楚JVM加载一个类的过程。现在本文就从类的三个加载器说起,Java在加载类的时候实际上就是将类的信息从class文件读入到方法区,并且在内存中生成一个该类的java.lang.Class对象的过程。但是由于项目的负载和各种jar包较多,如果同时都加入到内存当中,那么一定会内存资源的严重浪费和时间效率的大大降...原创 2018-12-01 20:47:57 · 565 阅读 · 0 评论 -
java 中静态块、构造块、构造器执行顺序
有如下代码块class MyOrderCls{ { System.out.println("1111"); } static { System.out.println("222"); } public MyOrderCls() { System.out.println(" 父类的构造器 EEEE")...原创 2018-12-01 21:07:36 · 178 阅读 · 0 评论 -
源码级理解Java的String类型(之一)
本文不重点讲述Java String类型的API,重点从源码的角度理解String类型。首先String是个final类,实现了Comparable 和 CharSequence 接口。所以该类是不能被继承的。另外String的中的数据是存储在 private final char value[] 中,由于使用了final修饰,因此String对象一旦被创建就不能被修改了。如果涉及到字符...原创 2018-12-01 22:01:55 · 255 阅读 · 0 评论 -
springboot 整合dubbo
1、引入依赖 <!-- Spring Boot Dubbo 依赖 --> <dependency> <groupId>io.dubbo.springboot</groupId> <artifactId>spring-boot-starter-dubbo&...原创 2019-01-07 13:19:08 · 142 阅读 · 0 评论