Java
xk_一步一步来
一步一步
展开
-
Parcelable的使用
一、Parcelable的基本介绍Parcelable是Android为我们提供的序列化接口。一个类只要实现了这个接口,这个类的对象就可以实现序列化。可用于IPC/Binder,Activity之间的对象的传递。二、Parcelable的基本使用1、创建一个类实现Parcelable接口2、实现接口中的describeContents()和writeToParcel(Parcel des...转载 2020-04-30 20:53:00 · 589 阅读 · 0 评论 -
利用Javacsv实现Java读写csv文件
今天跟大家分享一个利用外部Jar包来实现Java操作CSV文件一.资源下载1.直接下载Jar包:http://central.maven.org/maven2/net/sourceforge/javacsv/javacsv/2.0/javacsv-2.0.jar2.利用Maven下载Jar包:<dependency> <groupId>net.sourcef...转载 2020-01-08 16:16:36 · 326 阅读 · 0 评论 -
Java集合的序列化和反序列化
// 序列化 public void serialization() throws IOException { File File = new File("D:\\File\\ser"); OutputStream os = new FileOutputStream(File); ObjectOutputStream oos = ne...原创 2019-12-10 09:43:14 · 1381 阅读 · 0 评论 -
Java的finalize()
Java的finalize()首先,我们都了解初始化的重要性,但是常常会忘记同样也重要的清理工作。Java有垃圾回收器负责回收无用对象占用的内存资源。但是也有特殊情况:假定你的对象(并非使用new)获得一块“特殊”的内存区域,由于垃圾回收器只知道释放那些经由new分配的内存,所以它不知道如何释放该对象的这块特殊内存。为了应对这种情况,Java允许在类中定义一个名为finalize()方法。...原创 2018-10-31 15:49:59 · 287 阅读 · 0 评论 -
图解Java 垃圾回收机制
图解Java 垃圾回收机制转自:https://blog.csdn.net/justloveyou_/article/details/71216049摘要: Java技术体系中所提倡的 自动内存管理 最终可以归结为自动化地解决了两个问题:给对象分配内存 以及 回收分配给对象的内存,而且这两个问题针对的内存区域就是Java内存模型中的 堆区。关于对象分配内存问题,笔者的博文《JVM 内存模型...转载 2018-10-31 16:29:29 · 137 阅读 · 0 评论 -
Java程序运行和对象创建过程简述
Java中一个对象创建分为两个步骤: 加载类,创建对象。加载类是将所写的程序.java文件编译生成的.class文件加载到内存中,保证了对象创建的预置环境。类加载完毕后才可以创建该类的对象。第一步:加载类1. 当开始运行一个类,虚拟机首先试图访问指定启动类的 .main() 方法,加载该类的 .class 文件。2. 如果该类有父类,...转载 2018-11-01 09:28:12 · 267 阅读 · 0 评论 -
构造器内部的多态方法的行为
构造器内部的多态方法的行为首先明确一点:Java中除了static方法和final方法(private方法属于final方法)之外,其他所有的方法都是动态绑定的。设想这样一个场景:在父类的构造器中调用一个动态绑定方法(假设叫做A),其子类重写了A方法,然后生成子类对象(目的是调用构造器),会发生什么?来看下面一个例子:public class Test{ public stati...转载 2018-11-01 10:07:49 · 238 阅读 · 0 评论 -
Java静态绑定与动态绑定
程序绑定的概念:绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来。对java来说,绑定分为静态绑定和动态绑定;或者叫做前期绑定和后期绑定。静态绑定:在程序执行前方法已经被绑定,此时由编译器或其它连接程序实现。例如:C。针对Java简单的可以理解为程序编译期的绑定;这里特别说明一点,java当中的方法只有final,static,private和构造方法是前期绑定。动态绑定:后期...转载 2018-11-01 10:40:17 · 280 阅读 · 0 评论 -
成员内部类里面为什么不能有静态成员和方法?
成员内部类里面为什么不能有静态成员和方法?非静态内部类不能有静态成员!成员内部类必须先实例化外部类对象然后再实例化成员内部类; 非static的内部类,在外部类加载的时候,并不会加载它,所以它里面不能有静态变量或者静态方法。1、static类型的属性和方法,在类加载的时候就会存在于内存中。2、要使用某个类的static...原创 2018-11-01 21:39:27 · 374 阅读 · 0 评论 -
Java泛型擦除的补偿
Java泛型擦除的补偿public class Main<T> { public T makeArray() { // error: Type parameter 'T' cannot be instantiated directly return new T; }}我们无法在泛型内部创建一个T类型的对象,因为在运行时T仅仅是个占...原创 2018-11-09 11:24:51 · 3313 阅读 · 0 评论 -
Java 代理模式及动态代理 超详细!!!
转载:https://blog.csdn.net/briblue/article/details/73928350 代理代理是英文 Proxy 翻译过来的。我们在生活中见到过的代理,大概最常见的就是朋友圈中卖面膜的同学了。她们从厂家拿货,然后在朋友圈中宣传,然后卖给熟人。按理说,顾客可以直接从厂家购买产品,但是现实生活中,很少有这样的销售模式。一般都是...转载 2018-11-09 15:05:50 · 272 阅读 · 0 评论 -
秒懂,Java 注解 (Annotation) 超详细!!!
转自: https://blog.csdn.net/briblue/article/details/73824058 文章开头先引入一处图片。 这处图片引自老罗的博客。为了避免不必要的麻烦,首先声明我个人比较尊敬老罗的。至于为什么放这张图,自然是为本篇博文服务,接...转载 2018-11-09 16:44:58 · 383 阅读 · 1 评论 -
Java反射方法method.setAccessible(true)
Java代码中,常常将一个类的成员变量置为private 在类的外面获取此类的私有成员变量的value时,需要注意: 测试类:public class AccessibleTest { &nbs...转载 2018-11-09 17:08:12 · 690 阅读 · 0 评论 -
细说Java反射 超详细!!!秒懂
转自: https://blog.csdn.net/briblue/article/details/74616922 写作是门手艺,笑对需要勇气。写下这个题目的时候,我压力比较大,怕的是费力不讨好。因为反射这一块,对于大多数人员而言太熟悉了,稍微不注意就容易把方向写...转载 2018-11-09 17:09:43 · 499 阅读 · 1 评论 -
Java 并发:Thread 类深度解析
转自: https://blog.csdn.net/justloveyou_/article/details/54347954 摘要: Java 中 Thread类 的各种操作与线程的生命周期密不可分,了解线程的生命周期有助于对Thread类中的各方法的理解。一般来说,线程从最初的创建到最终的消亡,要经历创建、就绪、运行、阻塞 和 消亡 五个状态。在线程的生命周期中,上下文切换...转载 2018-11-09 17:25:04 · 116 阅读 · 0 评论 -
Java 并发:并发背景
转自: https://blog.csdn.net/justloveyou_/article/details/53448157 摘要: 并发与操作系统的生命历程息息相关。进程的出现,使得程序状态的保存变为现实,为进程间的切换提供了可能,实现了操作系统的并发,大大提高资源利用率。虽然进程的出现解决了操作系统的并发问题,但人们对实时性又有了更高的要求。由于一个进程由若干个子任务组成,所以人...转载 2018-11-09 17:27:46 · 138 阅读 · 0 评论 -
Java知识图谱(附:阿里Java学习计划
转自:http://blog.csdn.net/scythe666/article/details/51699954摘要: 本文主要描绘了Java基础学习过程,给出Java知识结构图,以及阿里Java岗学习计划,对Java学习爱好者、准备及将要从事Java开发方面的同学大有裨益。温馨提示: 由于...转载 2018-11-09 17:35:50 · 218 阅读 · 0 评论 -
详解Java内部类
转自:https://blog.csdn.net/chenssy/article/details/13024951详解Java内部类&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;可以将一个类的定义放在另一个类的定义内部,这就是内部类。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n转载 2018-11-10 09:29:43 · 212 阅读 · 0 评论 -
String,StringBuffer与StringBuilder的区别
String,StringBuffer与StringBuilder的区别?String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全)简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 ...原创 2018-11-07 15:45:49 · 109 阅读 · 0 评论 -
Java 格式化输出 printf
Java 格式化输出 printf 例子分类 编程技术实例:import java.util.Date;public class Printf { public static void main(String[] args) { /*** 输出字符串 ***/ // %s表示输出字符串,也就是将后面的字符串替换模式中...原创 2018-11-07 15:57:48 · 815 阅读 · 0 评论 -
详解匿名内部类
转自:https://blog.csdn.net/chenssy/article/details/13170015 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 在java提高篇-----详解内部类中对匿名内部类做了一个简单的介绍,但是转载 2018-11-10 09:41:38 · 282 阅读 · 0 评论 -
Java-静态代码块,构造代码块,构造函数
Java-静态代码块,构造代码块,构造函数静态代码块:用staitc声明,jvm加载类时执行,仅执行一次构造代码块:类中直接用{}定义,每一次创建对象时执行。执行顺序优先级:静态块, main(),函数,构造块,构造方法。构造函数public HelloA(){//构造函数 }关于构造函数,以下几点要注意:1.对象一建立,就会调用与之相应的构造函数,也就是...转载 2018-11-10 09:50:11 · 137 阅读 · 0 评论 -
深入理解Java枚举类型(enum)
转自: https://blog.csdn.net/javazejian/article/details/71333103 深入理解Java枚举类型(enum)本篇主要是深入对Java中枚举类型进行分析,主要内容如下:理解枚举类型枚举的定义枚举实现原理枚举的常见方法Enum抽象类常见方法编译器生成的Values方法与ValueOf方法枚举与Class对象...转载 2018-11-10 09:53:45 · 227 阅读 · 0 评论 -
Java基础总结
转自: https://blog.csdn.net/Scythe666/article/details/52053100 Java基础总结一、JVM1、内存模型1.1.1 内存分几部分(1)程序计数器可看作当前线程所执行的字节码的**行号指示器**。字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能...转载 2018-11-10 10:20:41 · 441 阅读 · 0 评论 -
Java 之 Serializable 序列化和反序列化的概念 通俗易懂!!!
转自: https://blog.csdn.net/qq_27093465/article/details/78544505遇到这个 Java Serializable 序列化这个接口,我们可能会有如下的问题a,什么叫序列化和反序列化b,作用。为啥要实现这个 Serializable 接口,也就是为啥要序列化c,serialVersionUID 这个的值到底是在怎么设置的,有什么用。有的是1...转载 2018-11-10 19:47:09 · 361 阅读 · 0 评论 -
正则表达式
转自:https://blog.csdn.net/qq_30034925/article/details/70216525 1正则表达式1.1。什么是正则表达式? 正则表达式定义字符串的搜索模式 正则表达式的英文全称是regular expression。搜索模式可以是简单字符,固定字符串或包含描述模式的特殊字符的复杂表达式的任何内容 由正则表达式定义的 pattern 可以...转载 2018-11-10 23:50:14 · 259 阅读 · 0 评论 -
Cannot create a generic array of ArrayList<Dog>
最近在用Java写某个程序时希望写出一个包括ArrayList<xx>的数组自己定义如下:ArrayList<edge>[] edges = new ArrayList<edge>()[10];然后编译器报错如下:Cannot create a generic array of ArrayList<edge>;在C++里可以这样比较方便...转载 2018-11-07 21:34:09 · 1777 阅读 · 0 评论 -
Java不能创建泛型数组
一,数组的协变性(covariant array type)及集合的非协变性设有Circle类和Square类继承自Shape类。关于数组的协变性,看代码:public static double totalArea(Shape[] arr){ double total = 0; for (Shape shape : arr) { if...原创 2018-11-07 23:13:20 · 442 阅读 · 0 评论 -
Java不能创建泛型数组的解决方案
Java不能创建泛型数组的解决方案3.1 通配符The Java™ Tutorials: Generics给出的解决方案如下:List&amp;amp;lt;?&amp;amp;gt;[] lsa = new List&amp;amp;lt;?&amp;amp;gt;[10]; //1Object o = lsa;Object[] oa = (Object[]) o;List&原创 2018-11-07 23:39:29 · 2462 阅读 · 0 评论 -
Java RTTI 和 反射
一、概念: RTTI(Run-Time Type Identification,运行时类型识别)的含义就是在运行时识别一个对象的类型,其对应的类是Class对象,怎么理解这个Class对象呢?如果说类是所有对象方法、属性的集合,那就可以把这个Class对象理解成是所有class的集合,然后利用这个Class对象动态的解析出相关类,并可以获得其构造器和方法等,甚至实例化这个类的对象。开始文...原创 2018-11-08 10:15:51 · 178 阅读 · 0 评论 -
Java适配器模式、代理模式及动态代理
适配器模式和代理模式表面上看来都是通过添加中间层来解除紧耦合的问题,那么这两种模式有什么区别呢,刚学不久的人真心会感到混乱。 适配器模式主要解决的是接口的兼容性问题,比如有A、B两个接口,在客户端,应用程序主要使用的是A接口提供的服务...转载 2018-11-08 11:32:43 · 321 阅读 · 0 评论 -
如何使用动态代理?
import java.lang.reflect.*;import java.util.Arrays;public class Test4{ public static void main(String[] args) { yunsuanin yuansuan1 = (yunsuanin) Proxy.newProxyInstance( yunsuanin.class...原创 2018-11-08 21:11:56 · 557 阅读 · 0 评论 -
同步、异步、阻塞和非阻塞
同步、异步先比较下同步、异步:简单而言:同步是指发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。举个例子:普通B/S模式(同步) Ajax技术(异步)同步:提交请求-&gt;等待服务器处理-&gt;处理完毕返回(这个期间客户端浏览器不能干任何事)异步: 请求通过事件触发-&gt;服务器...原创 2018-11-12 11:10:36 · 140 阅读 · 0 评论 -
正则表达式在线工具
JavaScript正则表达式在线测试工具:http://tools.jb51.net/regex/javascript正则表达式在线生成工具:http://tools.jb51.net/regex/create_reg原创 2018-12-06 18:31:00 · 841 阅读 · 0 评论 -
java面试中的智力题
智力题,每个正式的笔试、面试都会出,而且在面大企业的时候必然会问到,笔者曾在很多面试中,都被问到过,不过答得都不是很好,因为时间很短,加上我们有时候过于紧张,所以做出这类问题,还是有一定的难度,从这篇文章中我会总结一些常见的智力题,希望各位读者能在本章所列的题中找出做这类题的方法,克服面试中的难题!1、农民分...转载 2018-12-07 15:06:51 · 4338 阅读 · 0 评论 -
Java中4大基本加密算法解析
原文网址http://developer.51cto.com/art/201506/481084.htm简单的java加密算法有:BASE64 严格地说,属于编码格式,而非加密算法MD5(Message Digest algorithm 5,信息摘要算法)SHA(Secure Hash Algorithm,安全散列算法)HMAC(H...转载 2018-12-07 15:08:51 · 121 阅读 · 0 评论 -
Java中String与二进制码的相互转换
public class Message { public static void main(String[] args) { String str = "u:流6"; String binary = toBinary(str); System.out.println(str); System.out.println(bina...原创 2018-12-10 12:35:45 · 3594 阅读 · 1 评论 -
将得到的路径的单斜线替换为双斜线
String path = “E:\testFile\mysql”;System.out.println(“path是:”+path);String newpath=path.replaceAll("\\","\\\\");System.out.println(“新的路径:”+newpath);替换后输出之后的路径是:E:\testFile\mysql...原创 2018-12-12 11:06:50 · 1803 阅读 · 0 评论 -
Java split() 方法
split() 方法根据匹配给定的正则表达式来拆分字符串。注意: . 、 | 和 * 等转义字符,必须得加 \\。注意:多个分隔符,可以用 | 作为连字符。原创 2019-02-21 18:32:04 · 344 阅读 · 0 评论 -
Java FileWriter输出换行
使用Java的FileWriter写文件,需要换行时,假设已经新建FileWriter fr,在Windows操作系统中,fr.write("\n"); 是不行的,需要 fr.write("\r\n"); 即回车换行而在Linux系统中,只要 fr.write("\n"); 即可为了程序能在不同操作系统运行,可以写成 fr.write(System.getProperty("line.sep...原创 2019-03-01 10:57:27 · 1214 阅读 · 0 评论