![](https://img-blog.csdnimg.cn/20190927151043371.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
013java
java
安果移不动
精通Android,Swift,Flutter,Python,Php,按键精灵,易语言。曾为华为录制精品课程,拥有资质:按键精灵顶级证书;
产品秀:https://www.anguomob.com
B站:https://space.bilibili.com/482453235
展开
-
一道。。Java基础面试题
package test;public class ChangeValue { String str = new String("Hello"); char[] cb = {'a', 'b', 'c'}; public void chnage(String str, char ch[]) { str = "HelloWorld"; ch[0] = 'b'; ch[1] = 'b'; } public static.原创 2022-04-07 12:17:39 · 343 阅读 · 0 评论 -
HashMap夺命14问,你能坚持到第几问?
原文地址:HashMap夺命14问,你能坚持到第几问?1. HashMap的底层数据结构是什么?在JDK1.7中和JDK1.8中有所区别:在JDK1.7中,由”数组+链表“组成,数组是HashMap的主体,链表则是主要为了解决哈希冲突而存在的。在JDK1.8中,有“数组+链表+红黑树”组成。当链表过长,则会严重影响HashMap的性能,红黑树搜索时间复杂度是O(logn),而链表是O(n)。因此,JDK1.8对数据结构做了进一步的优化,引入了红黑树,链表和红黑树在达到一定条件会进行转换:转载 2022-03-31 14:54:55 · 150 阅读 · 1 评论 -
Java 在new对象的时候内存分配
一、new 对象的时候 在内存中 建立一个 内存区域 就是堆内存用来存放对象的属性,当new完对象把对象的地址赋给对象的引用变量这个时候 又在内存中建立一个区域 叫栈内存用来存储 引用变量 引用变量存储对象的地址,当对象没有被任何引用变量 引用的时候就变成了 垃圾会被java的垃圾清除机制清除掉参考:new一个AVA对象的时候,内存是怎么分配的? - SUNAJING - 博客园...转载 2022-03-30 22:08:54 · 846 阅读 · 0 评论 -
Java 8 新增接口特性default
随便写一个接口package com.yzdzy.design.strategy;public interface Comparator<T> { int compare(T o1, T o2); default void m() { System.out.println("m"); }}用过接口的朋友想必都知道。接口里面的方法必须被实现而如今package com.yzdzy.design;import com.yzdz原创 2021-12-08 13:50:07 · 316 阅读 · 0 评论 -
AtomicInteger类的理解与使用
对于Java中的运算操作,例如自增或自减,若没有进行额外的同步操作,在多线程环境下就是线程不安全的。num++解析为num=num+1,明显,这个操作不具备原子性,多线程并发共享这个变量时必然会出现问题。首先看两段代码,一段是Integer的,一段是AtomicInteger的,为以下:public class Sample1 { private static Integer ...原创 2020-03-20 15:56:37 · 260 阅读 · 0 评论 -
C老头和Java小子的硬盘夜话
这是一个程序员的电脑硬盘, 在一个叫做“学习”的目录下有两个小程序, 一个叫做Hello.java , 另外一个叫做hello.c 。 Hello.java 自视甚高,有点看不起老派的hello.c , 经常叫他“C老头”。 这hello.c 也瞧不起“嚣张”的 java 程序, 也给他起来一个外号: “Java 小子”。 但是这个目录下没有其他人, 每天深夜,主人睡去以后就是无边的黑暗和无尽的孤...转载 2018-06-02 02:40:50 · 301 阅读 · 0 评论 -
Python和Java的硬盘夜话
这是一个程序员的电脑硬盘,在一个叫做“学习”的目录下曾经生活着两个小程序,一个叫做Hello.java,即Java小子;另外一个叫做hello.c ,也就是C老头儿。C老头儿的命运比较悲催,程序员主人觉得C语言的指针太复杂了,内存管理太难了,实在是学不会,就放弃了,顺便把它给删除了!Java小子很怀念它,因为C老头儿虽然老派,但知识渊博,教了他不少东西。(码农翻身注:参见文章《C老头和Java小子...转载 2018-06-02 02:35:07 · 258 阅读 · 0 评论 -
MAC安装JDK及环境变量配置
访问Oracle官网 http://www.oracle.com,浏览到首页的底部菜单 ,然后按下图提示操作:java10 已经出现 但是为了少进入坑 建议还是先用着8 2.点击“JDK DOWNLOAD”按钮: 3.选择“Accept Lisence Agreement”同意协议: 4.点击Mac OS X x64后面的下载链接: 下载完成后点击安装包,按提示即可完成安装。 5.打开Fi...原创 2018-06-08 15:25:10 · 1212 阅读 · 5 评论 -
Java 10的10个新特性,将彻底改变你写代码的方式!
Java 9才发布几个月,很多玩意都没整明白,现在Java 10又要来了。。这时候我真尼玛想说:线上用的JDK 7 甚至JDK 6,JDK 8 还没用熟,JDK 9 才发布不久不知道啥玩意,JDK 10……刚学Java的同学是不是感觉一脸蒙逼?!!!就连我这个老司机也同样感觉如此!Java 更新越来越快,我们做技术的也要跟上步伐,不然总会慢别人一拍,这新东西从国外到国内应用一般要好几年的时间,如果...原创 2018-06-08 14:49:32 · 481 阅读 · 0 评论 -
java复制文件的4种方式
java复制文件的4种方式摘要尽管Java提供了一个可以处理文件的IO操作类。 但是没有一个复制文件的方法。 复制文件是一个重要的操作,当你的程序必须处理很多文件相关的时候。 然而有几种方法可以进行Java文件复制操作,下面列举出4中最受欢迎的方式。1. 使用FileStreams复制这是最经典的方式将一个文件的内容复制到另一个文件中。 使用FileInputStream读取文件A的字节,使用F...原创 2018-07-07 13:41:34 · 402 阅读 · 0 评论 -
java实现在线预览--poi实现word、excel、ppt转html
java实现在线预览- -之poi实现word、excel、ppt转html简介java实现在线预览功能是一个大家在工作中也许会遇到的需求,如果公司有钱,直接使用付费的第三方软件或者云在线预览服务就可以了,例如永中office、office web 365(http://www.officeweb365.com/)他们都有云在线预览服务,就是要钱0.0 如果想要免费的,可以用openoff...原创 2018-10-22 16:30:00 · 3719 阅读 · 2 评论 -
原 java发送邮箱认证错误553 authentication is required
因为项目需要,所以拿了之前发布的java邮箱demo来修改,地址如下 http://blog.csdn.net/sun2015_07_24/article/details/50467133,但是用的时候突然报这个错误他说我的邮箱没有认证,我很奇怪,以前用的时候不出这错误的。现在却出现的。可能是邮箱服务器那边升级还是怎么了吧。。 那么我们解决这个错误的方法这么做。 错误说要我们认证...原创 2018-12-18 05:44:09 · 1674 阅读 · 0 评论 -
java中如何高效的判断数组中是否包含某个元素---
//检查数组是否包含某个值的方法public class TestArray { //使用Listpublic static boolean useList(String[] arr,String targetValue){ return Arrays.asList(arr).contains(targetValue);}//使用Setpublic static boo...原创 2019-03-07 10:09:39 · 537 阅读 · 0 评论 -
封装方法个人总结
封装类要为大部分类服务,所以肯定在最底层的服务类。 封装的参数 参数要多。不要带着原来类的数据 比如 void a(MainActivity activity) 这就是一个特别失败的封装。已经失去了他的扩展性。。不过是把代码简洁到另外一个地方。称不上为封装 封装要考虑健壮性。有返回值的方法。返回null 也没啥不对。下面来看下比较官方的封装介绍吧在面向对象程式设计方法中,封装(英语:...原创 2019-07-03 15:37:05 · 286 阅读 · 0 评论 -
Java:String、StringBuffer和StringBuilder的区别
1 StringString:字符串常量,字符串长度不可变。Java中String是immutable(不可变)的。String类的包含如下定义:[java] view plain copy/** The value is used for character storage. */ private final char原创 2018-04-26 07:04:16 · 195 阅读 · 0 评论 -
java中Math的一些用法
java.math.Math类常用的常量和方法:Math.PI 记录的圆周率Math.E记录e的常量Math.abs 求绝对值Math.sin 正弦函数 Math.asin 反正弦函数Math.cos 余弦函数 Math.acos 反余弦函数Math.tan 正切函数 Math.atan 反正切函数 Math.atan2 商的反正切函数Math.toDegrees原创 2018-03-27 14:59:19 · 271 阅读 · 0 评论 -
hashMap的四种遍历
public static void main(String[] args) { Map map = new HashMap(); map.put("1", "value1"); map.put("2", "value2"); map.put("3", "value3"); //第一种:普遍使用,二次取值 System.out.原创 2017-02-07 12:39:17 · 943 阅读 · 0 评论 -
ArrayList,LinkedList使用场景及性能说明
Java面试中关于容器类List,Set是必问题目。但在我的面试经历中很难遇到满意的答复。大部分只能了解其大概使用方法,对其内部结构缺乏了解,错误的使用方式会导致性能大幅下降。 首先介绍ArrayList,顾名思义内部数据结构是数组 private transient Object[] elementData; private int size; public Ar原创 2017-02-12 21:03:24 · 2607 阅读 · 0 评论 -
关于线程同步7种
为何要使用同步? java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查), 将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用, 从而保证了该变量的唯一性和准确性。 1.同步方法 即有synchronized关键字修饰的方法。 由于java原创 2017-02-12 21:29:07 · 403 阅读 · 0 评论 -
进程和线程的区别
简而言之,一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小于进程,使得多线程程序的并发性高。另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。从逻原创 2017-02-15 12:30:47 · 483 阅读 · 0 评论 -
io流复制
/** * 复制单个文件 * @param oldPath String 原文件路径 如:c:/fqf.txt * @param newPath String 复制后路径 如:f:/fqf.txt * @return boolean */ public void copyFile(String oldPath, String ne原创 2017-03-31 01:19:57 · 293 阅读 · 0 评论 -
获取当前年月日 时分秒
SimpleDateFormat format = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ); String battery_use_time=String.format(getString(R.string.battery_use_time), format.format(new java.util.Date()));原创 2017-05-03 11:45:04 · 1255 阅读 · 0 评论 -
如何实现多继承
但是可以多重继承假设有父类 a和b 如果想要c继承自a 但又想c继承自b那么 一般java是不允许多继承的就可以用a 继承自b 然后c 继承a 也可以 b 继承a 然后c继承b原创 2017-06-09 10:34:11 · 1490 阅读 · 0 评论 -
跳到指定的循环
public static void main(String[] args) {// TODO Auto-generated method stub\loop:for (int i = 0; i < 10; i++) {//在这里设置了loop 作为指定的跳转点for (int j = 0; j < 5; j++) {System.out.println("第二层循环");for (in原创 2017-07-13 12:16:32 · 817 阅读 · 0 评论 -
java 基础之入门第一个坑 错误:找不到或无法加载主类
那天兴高采烈和同志们一起安装了java环境 是一样的文件结果只有我失败了刚入门的就是用手敲一份Helloword然后编译的时候 总是我出错就是错误:找不到或无法加载主类解决方案 不要把jdk 和jre 放在同一个目录下 会出错的 不用谢 我叫bug刘原创 2017-08-26 22:47:47 · 1807 阅读 · 2 评论 -
java 重命名操作
private static void five(String resath) { File file = new File(resath); if(!file.isDirectory()){ System.out.println("文件目录错误"); return; } File[]原创 2017-11-01 16:44:56 · 2423 阅读 · 0 评论 -
Java一次读取文本文件所有内容
我们做文本处理的时候的最常用的就是读写文件了,尤其是读取文件,不论是什么文件,我都倾向于一次性将文本的原始内容直接读取到内存中再做处理,当然,这需要你有一台大内存的机器,内存不够者……可以一次读取少部分内容,分多次读取。读取文件效率最快的方法就是一次全读进来,很多人用readline()之类的方法,可能需要反复访问文件,而且每次readline()都会调用编码转换,降低了速度,所以,在已知编码原创 2018-01-12 14:46:43 · 1529 阅读 · 2 评论 -
android开发之Parcelable使用详解
想要在两个activity之间传递对象,那么这个对象必须序列化,android中序列化一个对象有两种方式,一种是实现Serializable接口,这个非常简单,只需要声明一下就可以了,不痛不痒。但是android中还有一种特有的序列化方法,那就是实现Parcelable接口,使用这种方式来序列化的效率要高于实现Serializable接口。不过Serializable接口实在是太方便了,因此在某些原创 2017-12-28 15:28:50 · 290 阅读 · 0 评论 -
中文汉字的正则字符编码范围
中文编码范围,中文汉字的正则也许用的着。双字节字符编码范围:1. GBK (GB2312/GB18030)\x00-\xff GBK双字节编码范围\x20-\x7f ASCII\xa1-\xff 中文gb2312\x80-\xff 中文 gbk2. UTF-8 (Unicode)\u4e00-\u9fa5 (中文)\x3130-\x318F原创 2018-01-28 18:52:50 · 6096 阅读 · 0 评论 -
Java 复制文件的高效方法
在Java编程中,复制文件的方法有很多,而且经常要用到。我以前一直是缓冲输入输出流来实现的(绝大多数人都是如此),近来在研究JDK文档时发现,用文件通道(FileChannel)来实现文件复制竟然比用老方法快了近三分之一。下面我就来介绍一下如何用文件通道来实现文件复制,以及在效率上的对比用文件通道的方式来进行文件复制 /** * 使用文件通道的方原创 2018-03-11 14:34:02 · 1285 阅读 · 0 评论 -
冒泡排序
package com.example.antoinstall;/** * Name: ceshi * Action: * Author: liuan * creatTime:2017-02-11 00:03 */public class ceshi { public static void main(String[] args) { int arr[]原创 2017-02-11 00:11:36 · 286 阅读 · 0 评论