Java
文章平均质量分 56
hhh_101
这个作者很懒,什么都没留下…
展开
-
java内置注解的原理
Java内置的注解以及自定义一个注解大家都比较熟悉的了,现在来看看注解实现的原理,看看Java的体系下面是如何对注解的支持的。在讨论前先看一个自定义注解的例子,自定义实现这样一个注解:通过@Test向某类注入一个字符串,通过@TestMethod向某个方法注入一个字符串。① 创建Test注解,声明作用于类并保留到运行时,默认值为default。@Target({ElementType.TYP...原创 2018-10-23 19:54:46 · 220 阅读 · 0 评论 -
关于Java调用本地方法
JNIJNI即Java Native Interface,它能在Java层实现对本地方法的调用,一般本地的实现语言主要是C/C++,其实从虚拟机层面来看JNI挺好理解,JVM主要使用C/C++ 和少量汇编编写,在执行Java字节码时如果遇到有某个方法标明为Native的则从JVM中找到对应的C/C++函数,一般本地方法对应的函数会被注册到JVM中。使用JNI能让Java与本地语言交互,但一般也...原创 2018-10-23 20:02:36 · 1254 阅读 · 0 评论 -
Java 内存模型
在多核时代,如何提高CPU的性能成为了一个永恒的话题,而这个话题的讨论主要就是如何定义一个高性能的内存模型,内存模型用于定义处理器的各层缓存与共享内存的同步机制及线程和内存交互的规则。Java的世界也有属于它自己的内存模型,Java内存模型,即Java Memory Model,简称JMM。由于Java被定义成一种跨平台的语言,所以在内存的描述上面也要能是跨平台的,Java虚拟机试图定义一种统一...原创 2018-10-23 20:06:04 · 120 阅读 · 0 评论 -
Java后端技术栈,深入学习
面向对象三大特征1. 封装封装:将相同的功能进行封装,便于下一次的调用有代码的封装,功能的封装,分模块,分包,分工程。封装的步骤:1)使用private修饰需要被封装的属性。2)提供一个公共的方法设置或者获取该私有的成员属性。命名规范:public set属性名();public get属性名();封装的好处:1)提高数据的安全性2)操作简单3)隐藏了实现2. 继承继...原创 2018-09-20 19:43:33 · 412 阅读 · 0 评论 -
Java 内存溢出排查
Java OOM 毫无疑问是开发人员常见并且及其痛恨的问题,但是任何服务的开发都没法避免 OOM。 因此,OOM 的排查及定位是每个 Java 工程师都必备的技能。所遇到的问题在使用 scala 开发的一个 web 服务,在用户使用中,经常出现: java.lang.OutOfMemoryError: Java heap space 。而且还束手无策,每次都只能重启服务解决。准备服务使用 ...原创 2018-10-23 20:24:17 · 880 阅读 · 0 评论 -
Uncaught TypeError: Cannot Read Property
这是 JavaScript 开发人员最常遇到的错误。当你读取一个属性或调用一个未定义对象的方法时,Chrome 中就会报出这样的错误。导致这个错误发生的原因有很多,常见的一种情况是在渲染 UI 组件时,不正确地初始化状态。我们来看一个真实的应用程序中发生这种情况的例子。以上代码有两个重要方面:一是组件的状态(例如 this.state),在开始生命周期之前是 undefined 状态。二是...原创 2018-10-27 15:51:33 · 4334 阅读 · 0 评论 -
TypeError: Null Is Not an Object (evaluating...)
这是在 Safari 中读取属性或调用空对象上的方法时发生的错误。在 JavaScript 中,null 和 undefined 是两种不同的类型,这就是为什么会出现两个不同的错误消息。未定义通常是一个尚未分配的变量,而 null 则表示该值为空。要验证它们不相等,请使用严格的相等运算符:在实际情况中,导致这种错误的原因之一是:在元素加载之前,就尝试在 JavaScript 中使用 DOM 元...原创 2018-10-27 15:54:52 · 48636 阅读 · 1 评论 -
TypeError: Object Doesn’t Support Property
当调用未定义的方法时,IE 中会发生这样的错误。这相当于 Chrome 中的 “undefined’ is not a function” 错误。对于相同的逻辑错误,不同的浏览器可能会有不同的错误消息。这是在 IE 的 Web 应用程序中使用 JavaScript 命名空间出现的一个常见问题。出现这种情况的绝大部分原因是IE无法将当前名称空间内的方法绑定到this关键字。例如,如果你有 JS ...原创 2018-10-27 16:04:08 · 2148 阅读 · 0 评论 -
Uncaught RangeError: Maximum Call Stack
这是在很多种情况,Chrome 中发生的错误,一种情况是当你调用一个不会终止的递归函数时。如果将值传递给超出范围的函数,也可能会发生这种情况。许多函数只接受特定范围内的数字输入值。例如,Number.toExponential( digits ) 与 Number.toFixed( digits) 接受的参数范围为从0到20,而 Number.toPrecision( digits ) 接受的数...原创 2018-10-27 16:18:13 · 261 阅读 · 0 评论