简介: 在 Windows 上,共享库由 .dll 表示;在 Linux 上,由 .so 表示。 Shared Library的优势 共享库,又称动态库或so文件,顾名思义,它可以在可执行文件启动时加载或进程运行期被调用。使用共享库有很多好处,例如(包含但不限于下面提到的场景): 1) 减少了依赖共 ...
分类:
系统相关 时间:
2019-03-30 10:42:14
阅读次数:
268
由于函数也是一个对象,而且函数对象可以被赋值给变量,所以,通过变量也能调用该函数。 函数对象又有个 属性,可以拿到函数的名字 现在,假设我们要增强 函数的功能,比如,在函数调用前后自动打印日志,但又不希望修改 函数的定义,这种在代码运行期间动态增加功能的方式,称之为“装饰器(Decorator)” ...
分类:
其他好文 时间:
2019-03-29 11:53:05
阅读次数:
181
类加载的过程 什么是类加载? Java编译器会将我们编写好的代码编译成class字节码文件,JVM会把这些class字节码文件加载到内存中,并对加载的数据进行校验、准备、解析并初始化,这个过程就是类加载机制。类加载分为三个阶段:加载,连接,初始化。 这三个阶段都是在程序运行期间完成的。其中加载,校验 ...
分类:
其他好文 时间:
2019-03-26 13:34:34
阅读次数:
203
JavaSE 基础之十六 16 Java中异常的处理 ① 异常的概念及分类 1. 异常的概念 异常指的是在运行期间出现的错误。(程序开始执行,在执行期内出现的问题。出现异常后要关注异常的类型以及异常出现的行号) 在Java中,Java的异常是Java提供的用于处理程序错误的一种机制。 异常处理机制: ...
分类:
编程语言 时间:
2019-03-22 20:17:01
阅读次数:
187
1、Spring AOP 的基本概述 AOP(Aspect Oriented Programing)面向切面编程,AOP采取横向抽取机制,取代了传统纵向继承体系重复性代码(性能监视、事务管理、安全检查、缓存)。Spring AOP使用纯Java实现,不需要专门的编译过程和类加载器,在运行期通过代理方 ...
分类:
编程语言 时间:
2019-03-20 20:51:53
阅读次数:
159
一、使用Error Boundary处理错误组件 React16之前:组件在运行期出错,会阻塞整个应用的渲染。 React16之后:引入新的错误处理机制——Error Boundary【错误边界】,当某个组件发生错误时,可以通过Error Biundary提供的内容代替组件的错误。 class Er ...
分类:
其他好文 时间:
2019-03-18 18:18:08
阅读次数:
175
三者都属于Java企业级规范 JPA(java persistence API) JPA 通过JDK5.0的注解或XML来描述 对象-关系表的映射关系,并将运行期的实体对象持久化存储到数据库中。 JTA(java transaction API) JTA允许应用程序执行分布式事务管理,在两个或多个网 ...
分类:
其他好文 时间:
2019-03-17 13:34:17
阅读次数:
222
一.dump基本概念 在故障定位(尤其是out of memory)和性能分析的时候,经常会用到一些文件来帮助我们排除代码问题。这些文件记录了JVM运行期间的内存占用、线程执行等情况,这就是我们常说的dump文件。常用的有heap dump和thread dump(也叫javacore,或java ...
分类:
编程语言 时间:
2019-03-13 16:42:37
阅读次数:
585
1 AOP 1.1 什么是AOP? 在程序运行期间动态的将某段代码切入到指定方法指定位置进行运行的编程方式。 底层就是动态代理。 1.2 AOP的应用 步骤: ①定义一个目标类以及目标方法。 ②定义一个切面类,以及前置通知、后置通知等,使用各自的注解将通知织入到目标方法上。 ③将目标类和切面类注册到 ...
分类:
编程语言 时间:
2019-03-11 13:30:09
阅读次数:
228
Python装饰器(Decorator)在代码运行期间在不改变原函数定义的基础上,动态给该函数增加功能的方式,称之为装饰器(Decorator)。装饰器是一个很著名的设计模式,较为经典的有插入日志、性能测试、事务处理等。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量函数中与函数功能本身无关的雷同代码并继续重用。概括的讲,装饰器的作用就是为已经存在的对象(函数)添加额外的功能。总体
分类:
其他好文 时间:
2019-03-06 09:15:23
阅读次数:
179