- 博客(26)
- 收藏
- 关注
转载 ArrayList既然继承自AbstractList抽象类,而AbstractList已经实现了List接口,那么ArrayList类为何还要再实现List接口呢?
原文地址https://www.cnblogs.com/bluejavababy/p/4320545.html如有侵权,请联系删除,谢谢首先请看下面这段代码:package example;import java.io.Serializable;import java.util.Arrays;public class Test { public static interface MyInterface { void foo(); } public static class.
2021-12-07 08:52:42 398 1
转载 如何查看class文件的jdk版本
原文地址https://blog.csdn.net/gnail_oug/article/details/47145047如有侵权,请联系删除,谢谢1、事先编译好一个class文件,如:TestVersion.class2、使用UltraEdit或Editplus打开class文件,我这里使用的editplus,如图:3、打开时Encoding选择Hex viewer,以16进制方式显示4、打开文件的内容如下:5、只看第一行数据,前面8个字节CA FE BA BE 是固定的,之后4个字.
2021-12-07 08:48:05 3431
转载 Java基础汇总
原文地址https://liuchenyang0515.blog.csdn.net/article/details/121152064如有侵权,请联系删除,谢谢文章目录1、Spring AOP 底层原理aop 底层是采用动态代理机制实现的:接口+实现类如果要代理的对象,实现了某个接口,那么 Spring AOP 会使用 JDK Proxy,去创建代理对象。没有实现接口的对象,就无法使用 JDK Proxy 去进行代理了,这时候 Spring AOP 会使用Cglib生成一个被代理对象的子.
2021-12-04 18:25:51 839
转载 java的可变参数和foreach循环需要注意的坑
原文地址https://liuchenyang0515.blog.csdn.net/article/details/81207787如有侵权,请联系删除,谢谢!先讲可变参数。上代码:public class Test { public static void main(String[] args) { cc(); } public static void cc(int... a) { // 形参可变的数组 System.out.print.
2021-12-03 09:18:19 232
转载 java中A继承B,B继承C,new A()对象,B、C中的this属于谁
原文地址https://liuchenyang0515.blog.csdn.net/article/details/79951944如有侵权,请联系删除,谢谢!class C{ public C() { System.out.println("C构造方法"); this.print(); } void print() { System.out.println("这是C中的this调用"); }} class B e
2021-12-03 09:07:47 570
转载 对Java的Map的Value字段进行排序
原文地址https://www.cnblogs.com/liu-qing/p/3983496.html如有侵权,请联系删除,谢谢!构造TreeMap可以指定Comparator,但是不能对value字段进行排序。如果有需求对Value字段排序,例如map存放的是单词,单词出现次数,怎么按单词次数排序呢?可以先将map中的key-value放入list,然后用Collections.sort对list排序,再将排序后的list放入LinkedHashMap,最后返回LinkedHashMap就可以.
2021-12-03 09:01:08 1164
转载 Java 内部类综述
原文地址https://blog.csdn.net/justloveyou_/article/details/53245561如有侵权,请联系删除,谢谢!摘要:多重继承指的是一个类可以同时从多于一个的父类那里继承行为和特征,然而我们知道Java为了保证数据安全,它只允许单继承。但有时候,我们确实是需要实现多重继承,而且现实生活中也真正地存在这样的情况,比如遗传:我们即继承了父亲的行为和特征也继承了母亲的行为和特征。可幸的是,Java提供了两种方式让我们曲折地来实现多重继承:接口和内部类\color{
2021-12-03 08:56:45 95
转载 Java 访问权限控制:你真的了解 protected 关键字吗?
原文地址https://blog.csdn.net/justloveyou_/article/details/61672133如有侵权,请联系删除,谢谢!摘要:对于类的成员而言,其能否被其他类所访问,取决于该成员的修饰词;而对于一个类而言,其能否被其他类所访问,也取决于该类的修饰词。在Java中,类成员访问权限修饰词有四类:private,无(包访问权限),protected 和 public,而其中只有包访问权限和public才能修饰一个类(内部类除外)。特别地,很多Java书籍对protec.
2021-12-02 19:36:46 152
转载 Java如何复制对象
原文地址https://blog.csdn.net/tounaobun/article/details/8491392如有侵权,请联系删除,谢谢!假如说你想复制一个简单变量。很简单:int apples = 5;int pears = apples;不仅仅是int类型,其它七种原始数据类型(boolean,char,byte,short,float,double.long)同样适用于该类情况。但是如果你复制的是一个对象,情况就有些复杂了。假设说我是一个beginner,我会这样写:c.
2021-12-02 09:40:49 4163 1
转载 字符编码(ASCII,Unicode和UTF-8)
原文地址https://www.cnblogs.com/skywang12345/p/3360348.html如有侵权,请联系删除,谢谢!ASCII,Unicode和UTF-8 介绍1. ASCII码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11.
2021-12-02 09:22:03 125
转载 Java 经纬度计算两个点的之间的距离
原文地址https://blog.csdn.net/baidu_29701003/article/details/78542938如有侵权,请联系删除,谢谢!package tag;public class LocationUtils { private static double EARTH_RADIUS = 6378.137; private static double rad(double d) { return (d * Math.PI) / 180..
2021-12-02 09:09:13 209
转载 JVM概念与调优(六)
原文地址https://www.iteye.com/blog/pengjiaheng-528034如有侵权,请联系删除,谢谢!分代垃圾回收流程示意选择合适的垃圾收集算法串行收集器用单线程处理所有垃圾回收工作,因为无需多线程交互,所以效率比较高。但是,也无法使用多处理器的优势,所以此收集器适合单处理器机器。当然,此收集器也可以用在小数据量(100M左右)情况下的多处理器机器上。可以使用-XX:+UseSerialGC打开。并行收集器对年轻代进行并行垃圾回收,因此可以减少垃圾回收时.
2021-12-02 08:57:36 100
转载 认证、授权、鉴权和权限控制
原文地址https://www.cnblogs.com/badboyh2o/p/11068779.html如有侵权,请联系删除,谢谢!本文将对信息安全领域中认证、授权、鉴权和权限控制这四个概念给出相应的定义,并对这个概念之间的相互关系进行梳理。本文给出的概念定义将有助于后续文章中对互联网应用开发用户登录功能的更多讨论1. 认证认证是指根据声明者所特有的识别信息,确认声明者的身份。认证在英文中对应于identification这个单词。最常见的认证实现方式是通过用户名和密码,但认证方式不限于此.
2021-12-01 09:02:30 2237
转载 JVM概念与调优(五)
原文地址https://www.iteye.com/blog/pengjiaheng-524024如有侵权,请联系删除,谢谢!为什么要分代分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。在Java程序运行的过程中,会产生大量的对象,其中有些对象是与业务信息相关,比如Http请求中的Session对象、线程、Socket连接,这类对象跟业务直接挂钩,因此生命周期比较长。但是还有一些对象,主要是程序运行过程中.
2021-11-30 09:35:24 87
转载 JVM概念与调优(四)
原文地址https://www.iteye.com/blog/pengjiaheng-523230如有侵权,请联系删除,谢谢!如何区分垃圾上面说到的“引用计数”法,通过统计控制生成对象和删除对象时的引用数来判断。垃圾回收程序收集计数为0的对象即可。但是这种方法无法解决循环引用。所以,后来实现的垃圾判断算法中,都是从程序运行的根节点出发,遍历整个对象引用,查找存活的对象。那么在这种方式的实现中,垃圾回收从哪儿开始的呢?即,从哪儿开始查找哪些对象是正在被当前系统使用的。上面分析的堆和栈的区别,其中栈.
2021-11-30 09:22:44 85
转载 并发与并行的区别是什么?
作者:知乎用户链接:https://www.zhihu.com/question/33515481/answer/58849148来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。在网上看到说并发是多个任务交替使用CPU,同一时刻还是只有一个任务在跑,并行是多个任务同时跑。。。。但是,多线程叫做并发,多线程程序在多核CPU上面,在没有资源竞争时,他们应该也是同时在跑的吧,那这怎么解释,这两者到底有什么区别你吃饭吃到一半,电话来了,你一直到吃完了以后才去接,这就说明.
2021-11-30 09:10:55 85
转载 JVM概念与调优(三)
原文地址https://www.iteye.com/blog/pengjiaheng-520228如有侵权,请联系删除,谢谢!可以从不同的的角度去划分垃圾回收算法:按照基本回收策略分引用计数(Reference Counting):比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。1. 标记-清除(Mark-Sweep):此算法执行分两阶段。第一阶段从引用根节点开始标记所有.
2021-11-30 09:04:01 112
转载 Hive常用优化方法总结
原文地址https://blog.csdn.net/ytp552200ytp/article/details/91797565如有侵权,请联系删除,谢谢!Hive作为大数据领域常用的数据仓库组件,在平时设计和查询时要特别注意效率。影响Hive效率的几乎从不是数据量过大,而是数据倾斜、数据冗余、job或I/O过多、MapReduce分配不合理等等。对Hive的调优既包含对HiveQL语句本身的优化,也包含Hive配置项和MR方面的调整。1. 列裁剪和分区裁剪最基本的操作。所谓列裁剪就是在查询时只.
2021-11-29 20:31:26 1962
转载 JVM概念与调优(二)
原文地址https://www.iteye.com/blog/pengjiaheng-519471如有侵权,请联系删除,谢谢!Java对象的大小基本数据的类型的大小是固定的,这里就不多说了。对于非基本类型的Java对象,其大小就值得商榷。在Java中,一个空Object对象的大小是8byte,这个大小只是保存堆中一个没有任何属性的对象的大小。看下面语句:Object ob = new Object();这样在程序中完成了一个Java对象的生命,但是它所占的空间为:4byte+8byte.
2021-11-26 09:42:49 88
转载 JVM概念与调优(一)
原文地址https://www.iteye.com/blog/pengjiaheng-518623数据类型Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。基本类型包括:byte,short,int,long,char,float,double,Boolean,returnAddress引用类型包括:类类型,.
2021-11-26 09:13:26 94
转载 什么是 JVM 的垃圾回收?
原文地址https://blog.csdn.net/csdnsevenn/article/details/117935804问题1:哪些是需要回收的?首先我们需要知道哪些垃圾需要回收?判断对象是否需要回收有两种算法:一种是引用计数算法一种是可达性分析算法引用计数算法引用计数算法很简单,它通过记录对象被引用的次数从而判断该对象的重要程度。如果该对象被其它对象引用,则它的引用计数加一,如果删除对该对象的引用,那么它的引用计数就减一,当该对象的引用计数为0时,那么该对象就会被回收。引用计数.
2021-11-25 15:26:50 90
转载 java动态代理实现与原理详细分析
原文地址https://www.cnblogs.com/gonjan-blog/p/6685611.html关于Java中的动态代理,我们首先需要了解的是一种常用的设计模式–代理模式,而对于代理,根据创建代理类的时间点,又可以分为静态代理和动态代理。一、代理模式代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理.
2021-11-25 10:03:40 3113 3
转载 深入理解Java Proxy机制
原文地址https://blog.csdn.net/rokii/article/details/4046098动态代理其实就是java.lang.reflect.Proxy类动态的根据您指定的所有接口生成一个class byte,该class会继承Proxy类,并实现所有你指定的接口(您在参数中传入的接口数组);然后再利用您指定的classloader将 class byte加载进系统,最后生成这样一个类的对象,并初始化该对象的一些值,如invocationHandler,以即所有的接口对应的Met.
2021-11-25 09:07:41 151
转载 Java的三种代理模式
代理模式代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法举个例子来说明代理的作用:假设我们想邀请一位明星,那么并不是直接连接明星,而是联系明星的经纪人,来达到同样的目的.明星就是一个目标对象,他只要负责活动中的节目,而其他琐碎的事情就交给他的代理人(经纪人)来
2021-11-24 09:21:01 78
转载 初识CountDownLatch
CountDownLatch是什么在java.util.concurrent包内。CountDownLatch是一个同步工具类,允许一个或多个线程一直等待,直等到其他线程的某些操作执行完成后再继续执行。CountDownLatch是在java1.5被引入的,跟它一起被引入的并发工具类还有CyclicBarrier、Semaphore、ConcurrentHashMap和BlockingQueue,它们都存在于java.util.concurrent包下。CountDownLatch这个类能够使一个线程等
2021-11-23 18:31:23 77
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人