
Java核心要义
文章平均质量分 81
tianjinsong
0101101001001
展开
-
java string占用内存_Java中String到底占用多大的内存空间?
对于Java中的String类占用多大的内存空间这个问题,是最近面试中问的比较多的一个问题。很多小伙伴的回答的都不是很正确,有说不占空间的,有说1个字节的,有说2个字节的,有说3个字节的,有说不知道的,更让人哭笑不得的是竟然还有人说是2的31次方。那如果真是这样的话,服务器的内存空间还放不下一个字符串呀!作为程序员的我们,可不能闹这种笑话呀。今天,我们就一起来聊聊Java中的String到底占用多大的内存空间!Java对象的结构首先,我们来下Java对象在虚拟机中的结构,这里,以HotSpot虚拟机转载 2021-10-15 15:07:57 · 3014 阅读 · 0 评论 -
JAVA中的引用
一、为什么有它?解决了什么问题?二、它的数据结构?三、它使用的算法?1.空间复杂度2.时间复杂度四、它的设计模式?五、它的JVM底层实现原理?六、它的应用场景?七、它的性能?...原创 2021-03-14 11:44:21 · 197 阅读 · 0 评论 -
Java使用FFmpeg处理视频文件指南
https://www.cnblogs.com/Dreamer-1/p/10394011.htmlJava使用FFmpeg处理视频文件指南本文主要讲述如何使用Java + FFmpeg实现对视频文件的信息提取、码率压缩、分辨率转换等功能;之前在网上浏览了一大圈Java使用FFmpeg处理音视频的文章,大多都讲的比较简单,楼主在实操过程中踩了很多坑也填了很多坑,希望这份详细的踩坑&填坑指南能帮助到大家;1. 什么是FFmpeg点我了解2. 开发前准备在使用Java调用FFm转载 2021-01-19 19:59:13 · 7501 阅读 · 3 评论 -
java面试题
1.两个对象革个别属性怎么比较? Comparable 总是只有一个,但是可以有多个 comparator 来定义对象的顺序。2.对象中某个属性不序列化到接口json3.小精高精度计算4.在遍历 ArrayList 时移除一个元素5.mybatis如何获取自动生成的(主)键值关键字 volatile transientMYSQL常用优化、隔离级别spring怎样解决循环依赖的问题Sychronized修饰静态方法,锁定类本身而不是实例,非静态方法锁定实例。实现线程的几种方法两个.原创 2020-12-28 14:42:32 · 980 阅读 · 0 评论 -
java泛型(一)、泛型的基本介绍和使用
http://blog.youkuaiyun.com/lonelyroamer/article/details/7864531 现在开始深入学习java的泛型了,以前一直只是在集合中简单的使用泛型,根本就不明白泛型的原理和作用。泛型在java中,是一个十分重要的特性,所以要好好的研究下。一、泛型的基本概念 泛型的定义:泛型是JDK 1.5的一项新特性,它的本质是参数化类转载 2016-09-22 12:31:51 · 6805 阅读 · 0 评论 -
Java泛型编程最全总结
http://qiemengdao.iteye.com/blog/1525624JAVA泛型编程笔记——by书生1介绍Java泛型编程是JDK1.5版本后引入的。泛型让编程人员能够使用类型抽象,通常用于集合里面。下面是一个不用泛型例子:List myIntList=new LinkedList(); //1myIntList.add(newInteger(0)); /转载 2016-09-22 12:00:26 · 7393 阅读 · 0 评论 -
Java中普通代码块,构造代码块,静态代码块区别及代码示例
http://www.cnblogs.com/sophine/p/3531282.htmlJava中普通代码块,构造代码块,静态代码块区别及代码示例//执行顺序:(优先级从高到低。)静态代码块>mian方法>构造代码块>构造方法。其中静态代码块只执行一次。构造代码块在每次创建对象是都会执行。1 普通代码块//普通代码块:在方法或语句中出现的{}就称为普通代码块。转载 2016-09-21 18:28:38 · 7088 阅读 · 0 评论 -
Java中final变量的初始化方式
http://www.cnblogs.com/DreamDrive/p/5413484.htmlpublic class FinalTest1 { //-----------------成员变量------------------// //初始化方式一,在定义变量时直接赋值 private final int i = 3; //初始化方式二,转载 2016-09-21 18:16:19 · 12508 阅读 · 1 评论 -
java(有关类成员变量的访问权限)
http://blog.youkuaiyun.com/qq_33017925/article/details/51638297private,public,protected,默认不写(firendly)1、Class类的访问权限: public:可以供所有的类访问。 默认:默认可以称为friendly但是,java语言中是没有friendly这个修饰符的,这样称呼应该是来源于c+转载 2016-09-21 17:37:13 · 7523 阅读 · 0 评论 -
Java中的53个关键字
Java中的50个关键字关键字也称为保留字,是指java语言中规定了特定含义的标示符。对于保留字,用户只能按照系统规定的方式使用,不能自行定义。51+2个保留字=53个关键字(java的关键字都是小写的!!) 1).访问修饰符的关键字(共3个) 范围本类同软件包不同包中子类不同包且无继承作用(含义)原创 2016-09-20 15:18:51 · 7899 阅读 · 0 评论 -
Java语言中Object对象的hashCode()取值的底层算法是怎样实现的?,object hashcode
http://www.bkjia.com/ASPjc/919437.html Java语言中,Object对象有个特殊的方法:hashcode(), hashcode()表示的是JVM虚拟机为这个Object对象分配的一个int类型的数值,JVM会使用对象的hashcode值来提高对HashMap、Hashtable哈希表存取对象的使用效率。 关于Object对象的h转载 2016-09-21 17:22:19 · 27468 阅读 · 13 评论 -
图说Java —— 理解Java机制最受欢迎的8幅图
http://blog.youkuaiyun.com/renfufei/article/details/13594715原文链接: Top 8 Diagrams for Understanding Java翻译人员: 铁锚翻译时间: 2013年10月29日世间总是一图胜过千万言!下面的8幅图来自于 Program Creek 的 Java教程 ,目前这是该网站最受转载 2016-09-21 16:41:06 · 6913 阅读 · 0 评论 -
java泛型(二)、泛型的内部原理:类型擦除以及类型擦除带来的问题
http://blog.youkuaiyun.com/lonelyroamer/article/details/7868820参考:java核心技术一、Java泛型的实现方法:类型擦除前面已经说了,Java的泛型是伪泛型。为什么说Java的泛型是伪泛型呢?因为,在编译期间,所有的泛型信息都会被擦除掉。正确理解泛型概念的首要前提是理解类型擦出(type erasure)。Ja转载 2016-09-22 14:13:20 · 6655 阅读 · 0 评论 -
java泛型(三)、通配符的使用
http://blog.youkuaiyun.com/lonelyroamer/article/details/7927212通配符有三种:1、无限定通配符 形式2、上边界限定通配符 形式 //用Number举例3、下边界限定通配符 形式 //用Number举例1、泛型中的?通配符如果定义一个方法,该方法用于打印出任意参数化类型的集转载 2016-09-22 14:17:15 · 6472 阅读 · 0 评论 -
java8 判空
https://www.cnblogs.com/yizhiamumu/p/8999482.html空指针是我们最常见也最讨厌的异常,写过 Java 程序的同学,一般都遇到过 NullPointerException :)初识null详细可以参考【jdk 1.6Java.lang.Null.Pointer.Exception】—— 为了不抛出这个异常,我们便会写如下的...转载 2019-05-24 18:16:51 · 21310 阅读 · 0 评论 -
Java8 Lambda表达式教程
http://blog.youkuaiyun.com/ioriogami/article/details/127821411. 什么是λ表达式 λ表达式本质上是一个匿名方法。让我们来看下面这个例子: public int add(int x, int y) { return x + y; }转成λ表达式后是这个样子: (int x转载 2017-03-29 17:02:23 · 6721 阅读 · 0 评论 -
Java8学习笔记(1) -- 从函数式接口说起
http://blog.youkuaiyun.com/zxhoo/article/details/38349011希望本文能够成为Java8 Lambda表达式的快速入门指南。函数式接口理解Functional Interface(函数式接口,以下简称FI)是学习Java8 Lambda表达式的关键所在,所以放在最开始讨论。FI的定义其实很简单:任何接口,如果只包含唯一一个抽象方法,那转载 2017-01-03 09:55:38 · 6877 阅读 · 0 评论 -
JAVA Zero Copy的相关知识
https://my.oschina.net/cloudcoder/blog/299944摘要: java 的zero copy多在网络应用程序中使用。Java的libaries在linux和unix中支持zero copy,关键的api是java.nio.channel.FileChannel的transferTo(),transferFrom()方法。我们可以用这两个方法来把bytes转载 2016-10-31 17:03:10 · 6849 阅读 · 0 评论 -
Kafka Zero-Copy 使用分析
http://blog.youkuaiyun.com/allwefantasy/article/details/50663533 前言Kafka 我个人感觉是性能优化的典范。而且使用Scala开发,代码写的也很漂亮的。重点我觉得有四个NIOZero Copy磁盘顺序读写Queue数据结构的极致使用Zero-Copy 实际的原理,大家还是去Google下。这篇文章重点会分析这项技转载 2016-10-31 17:02:11 · 6957 阅读 · 0 评论 -
深入理解ThreadLocal
http://my.oschina.net/clopopo/blog/149368学习一个东西首先要知道为什么要引入它,就是我们能用它来干什么。所以我们先来看看ThreadLocal对我们到底有什么用,然后再来看看它的实现原理。ThreadLocal如果单纯从名字上来看像是“本地线程"这么个意思,只能说这个名字起的确实不太好,很容易让人产生误解,ThreadLocalVariable(转载 2016-08-26 14:59:22 · 6745 阅读 · 0 评论 -
一些好的博客
http://www.cnblogs.com/onlywujun/category/786394.htmlhttp://blog.youkuaiyun.com/kobejayandy/article/category/1216492原创 2016-08-20 10:32:17 · 6356 阅读 · 0 评论 -
java:方法的虚分派(virtual dispatch)和方法表(method table)
http://blog.youkuaiyun.com/biaobiaoqi/article/details/6894869Java方法调用的虚分派JUN 2ND, 2013 | COMMENTS本文通过介绍 Java 方法调用的虚分派,来加深对 Java 多态实现的理解。需要预先理解 Java 字节码和 JVM 的基本框架。虚分配(Virtual Dispa转载 2016-09-21 15:43:22 · 9332 阅读 · 0 评论 -
Java内联函数
http://blog.youkuaiyun.com/chlhp/article/details/6992644 在说内联函数之前,先说说函数的调用过程。 调用某个函数实际上将程序执行顺序转移到该函数所存放在内存中某个地址,将函数的程序内容执行完后,再返回到转去执行该函数前的地方。这种转移操作要求在转去前要保护现场并记忆执行的地址,转回后先要恢复现场,并按原来保存地址继续执行。也就是通转载 2016-09-21 14:37:39 · 6998 阅读 · 0 评论 -
java 存储空间 简单分析
http://www.cnblogs.com/onlywujun/articles/5086594.html 基础数据类型(Value type)直接在栈(stack)空间分配,方法的形式参数,直接在栈空间分配,当方法调用完成后从栈空间回收。引用数据类型,需要用new来创建,既在栈空间分配一个地址空间(reference),又在堆空间分配对象的类变量(object) 。方法转载 2016-08-20 01:37:59 · 12329 阅读 · 2 评论 -
从Introspector谈Java内省机制
http://cwind.iteye.com/blog/2007496内省内省是Java语言的一种重要特性。使用内省我们可以在运行时得到一个类的内部信息。这些信息包括方法、属性、构造函数及其他。内省的一个应用是开发使用插件的应用程序。应用程序可以在运行时获取并使用插件类的构造函数、方法和属性。内省也可以应用于创建Java Beans和Javadocs中。Introspect转载 2016-08-19 15:28:55 · 5690 阅读 · 0 评论 -
注解、Rentention、Target、注解的基本属性和高级属性
http://blog.sina.com.cn/s/blog_5d65a16901011kom.html注解Annotation JDK1.5出现的新特性。在java.lang.annotation包中。 对于过时的语句,java会提示过时了,通过@SuppressWarnings("Deprecation")在DOS中取消提示,但Eclipse无法取消。这转载 2016-08-19 14:25:20 · 18094 阅读 · 0 评论 -
内省、JavaBean、PropertyDescriptor类、Introspector类、BeanUtils工具包
内省IntroSpectorJavaBean主要用于传递数据信息,其方法用于访问私有变量,且方法名符合某种规则。 如果在两个模块之间传递信息,可以将信息封装进JavaBean中,这种对象称为“值对象”(Value Object),或“VO”。方法比较少。这些信息储存在类的私有变量中,通过set()、get()获得。 内省主要是对JavaBean进行操作。Java转载 2016-08-19 14:23:49 · 5274 阅读 · 0 评论 -
java之annotation与框架的那些秘密
http://blog.youkuaiyun.com/xieyuooo/article/details/8002321在大家使用spring MVC或hibernate 3.0以上的版本时,可能会注意到annotation带来的方便性,不过这往往让人觉得annotation真的很强大,而这算是一种接近错误的理解吧,annotation其实本身是属于一种文档注解的方式,帮助我们在编译时、运行时、文档转载 2016-08-15 19:41:49 · 5345 阅读 · 0 评论 -
java中Class对象详解
java中把生成Class对象和实例对象弄混了,更何况生成Class对象和生成instance都有多种方式。所以只有弄清其中的原理,才可以深入理解。首先要生成Class对象,然后再生成Instance。那Class对象的生成方式有哪些呢,以及其中是如何秘密生成的呢?Class对象的生成方式如下:1.Class.forName("类名字符串")(注意:类名字符串必须是全称,包名+类名)...转载 2015-04-15 10:51:41 · 5413 阅读 · 0 评论 -
java动态代理(JDK和cglib)
JAVA的动态代理 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。 按照代理的创建时期,代理类可以分为转载 2015-04-16 14:35:28 · 5291 阅读 · 0 评论 -
Java.lang包介绍
在整个JDK API中,大约包含1、200个包,总体来看,包名第一个名称主要有三种:java、javax和org。其中以java开头的包名是JDK的基础语言包,以javax开头的属于JDK扩展包(其中x是extend的简写),而以org开头的则是第三方组织提供的功能包(org是organization的简写)。而在JDK API中还包含了一些以com.sun开头的包名,这些是SUN...转载 2013-11-20 10:22:35 · 5752 阅读 · 0 评论 -
Java 枚举7常见种用法
DK1.5引入了新的类型——枚举。在Java中它虽然算个“小”功能,却给我的开发带来了“大”方便。用法一:常量在JDK1.5之前,我们定义常量都是:public static fianl....。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。public enum Color { RED, GREEN, BLANK,...转载 2014-06-13 10:55:33 · 5321 阅读 · 0 评论 -
java通过post方式发送接收xml信息
1.设置响应格式:response.setContentType("text/xml"); if(request.getMethod()==null || !request.getMethod().equalsIgnoreCase("post")){ return null;}2.发送xml:/** * 响应xml * @param response ...原创 2014-07-04 16:56:19 · 64873 阅读 · 4 评论 -
JAVA深入研究——Method的Invoke方法。
http://www.cnblogs.com/onlywujun/p/3519037.html在写代码的时候,发现从父类class通过getDeclaredMethod获取的Method可以调用子类的对象,而子类改写了这个方法,从子类class通过getDeclaredMethod也能获取到Method,这时去调用父类的对象也会报错。虽然这是很符合多态的现象,也符合java的动态绑定规转载 2016-08-19 18:21:45 · 5661 阅读 · 0 评论 -
Java JDK 动态代理使用及实现原理分析
http://blog.youkuaiyun.com/jiankunking/article/details/52143504版权声明:作者:jiankunking 出处:http://blog.youkuaiyun.com/jiankunking 本文版权归作者和优快云共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。一、什么是代理?代理是一种常转载 2016-08-20 20:37:52 · 4706 阅读 · 1 评论 -
java中static{}语句块详解
原文地址:http://blog.youkuaiyun.com/lubiaopan/article/details/4802430 感谢原作者!static{}(即static块),会在类被加载的时候执行且仅会被执行一次,一般用来初始化静态变量和调用静态方法,下面我们详细的讨论一下该语句块的特性及应用。 一、在程序的一次执行过程中,static{}语句块中的转载 2016-09-20 23:12:56 · 6249 阅读 · 0 评论 -
Java中的static关键字解析
http://www.cnblogs.com/dolphin0520/p/3799052.htmlJava中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一。下面就先讲述一下static关键字的用法和平常容易误解的地方,最后列举了一些面试笔试中常见的关于static的考转载 2016-09-20 23:11:52 · 5600 阅读 · 0 评论 -
实例构造器是不是静态方法?
http://rednaxelafx.iteye.com/blog/652719如题。这个问题的答案要看你心中的“静态”指代了什么。 看到最近在论坛的一帖: renpeng301 写道如果不熟悉JVM指令,看到这些东西确实难以理解···很直观的看到Test默认为继承自Object这个JAVA中的超级父类,当new Test()的时候,调用Test的默认构转载 2016-09-20 18:12:53 · 6293 阅读 · 0 评论 -
Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)
http://blog.youkuaiyun.com/is_zhoufeng/article/details/8112199位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。下面详细介绍每个位运算符。 1.与运算符与运算符用符号“&”表示转载 2016-09-20 16:39:39 · 5059 阅读 · 0 评论 -
Java中的内部类和匿名类
http://blog.sina.com.cn/s/blog_77c6324101016hgm.htmlJava内部类(Inner Class),类似的概念在C++里也有,那就是嵌套类(Nested Class),乍看上去内部类似乎有些多余,它的用处对于初学者来说可能并不是那么显著,但是随着对它的深入了解,你会发现Java的设计者在内部类身上的确是用心良苦。学会使用内部类,是掌握Java高级编转载 2016-09-22 14:51:38 · 5089 阅读 · 0 评论