• 什么是JNDI
  • 面向对象,就意味着对象之间的依赖不可避免。而好的应用程序必然是可维护性高,可扩展性强。依赖或者说耦合是这两者的天敌,耦合度越高程序就越不灵活,所以各种框架各种规范蜂拥崛起,其根本目的就是为了解耦。为什么会出现JNDI在讲JNDI前,先来回忆一下绝大多数Java程序员是如何访问数据库的。在程序中进行JDBC编码记得刚入门时,第一次进行JDBC编程用的是MySQL数据库,写了一大坨代码实现了对数据库的访问,当时的心情非常兴奋。public static void mai...
  •  2022-03-29  |    程成  |    547  |    0  |    Java  |   java,JNDI  
  • JDK自带调优工具VisualVM
  • VisualVM是一个提供可视化界面的工具,用于查看在Java 虚拟机(JVM)上运行的 Java 应用程序的详细信息。VisualVM 组织由Java 开发工具包(JDK) 工具检索的 JVM 数据,并以允许快速查看多个 Java 应用程序(本地应用程序和远程主机上运行的应用程序)的数据的方式呈现信息。程序员还可以捕获有关 JVM 软件的数据并将数据保存到本地系统,然后稍后查看数据或与他人共享。VisualVM 基于NetBeans平台构建;它的架构是模块化的,易于使用插件进行扩展。该工具直接...
  •  2022-03-23  |    程成  |    459  |    0  |    Java  |   VisualVM,调优,JDK  
  • IntelliJ 压测工具 apache JMeter
  • Apache JMeter是一个Apache 项目,可用作负载测试工具,用于分析和测量各种服务的性能,重点是Web 应用程序。JMeter 可用作JDBC数据库连接、[1] FTP、[2] LDAP、[3] Web 服务、[4] JMS、[5] HTTP、[6]通用TCP连接和操作系统的单元测试工具本机进程。[7]也可以将 JMeter 配置为监视器,[8]尽管这通常用作基本监控解决方案而不是高级监控。它也可以用于一些功能测试。[9]此...
  •  2022-03-23  |    程成  |    490  |    0  |    Java  |   intellij,apache,JMeter,压测  
  • maven 仓库(本地仓库,私服,远程仓库)
  • Maven 仓库的分类:maven的仓库只有两大类:1.本地仓库 2.远程仓库,在远程仓库中又分成了3种:2.1 中央仓库 2.2 私服 2.3 其它公共库1.本地仓库,顾名思义,就是Maven在本地存储构件的地方。注:maven的本地仓库,在安装maven后并不会创建,它是在第一次执行maven命令的时候才被创建maven本地仓库的默认位置:无论是Windows还是Linux,在用户的目录下都有一个.m2/repository/的仓库目录,这就是Maven仓库的默认位置如何更改maven默认的...
  •  2020-07-17  |    程成  |    1801  |    3  |    Java  |   maven  仓库  私服  
  • log4j详细介绍
  • log4j是什么* Apache的开源项目log4j是一个功能强大的日志组件(框架),提供方便的日志记录。日志的作用1. 第一用途:编写程序的时候,进行调试。    类似于:大家使用System.out.print()来调试代码2. 第二用途:项目上线(商业运行),查看系统的运行状态3. 日志是用来记录信息的,比如服务器的日志主要是用来记录一些访问信息,以便出现状况时,可以根据日志来判断原因。聊聊System.out.print()的缺陷1. 过于简单,只...
  •  2020-07-17  |    程成  |    1898  |    0  |    Java  |   log4j  slf4j  门面  日志  
  • Spring声明式事务管理与配置详解
  • 1、Spring声明式事务配置的五种方式  前段时间对Spring的事务配置做了比较深入的研究,在此之前对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识。通过这次的学习发觉Spring的事务配置只要把思路理清,还是比较好掌握的。  总结如下:  Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分。  DataSource、TransactionMa...
  •  2020-07-17  |    程成  |    1838  |    0  |    Java  |   声明  事务  spring  配置  
  • java类路径中的classpath到底是什么
  • java项目中的classpath到底是什么在java项目中,你一定碰到过classpath,通常情况下,我们是用它来指定配置/资源文件的路径。在刚开始学习的时候,自己也糊里糊涂,但是现在,是时候弄清楚它到底是指什么了。顾名思义,classpath就是class的path,也就是类文件(*.class的路径)。一谈到文件的路径,我们就很有必要了解一个java项目(通常也是web项目)它在真正运行时候,这个项目内部的目录、文件的结构;这样,我们才好分析、理解classpath。开发时期的web项目...
  •  2020-07-17  |    程成  |    1779  |    0  |    Java  |   类路径  classpath  java  
  • Maven 构建生命周期
  • Maven 构建生命周期定义了一个项目构建跟发布的过程。一个典型的 Maven 构建(build)生命周期是由以下几个阶段的序列组成的:阶段处理描述验证 validate验证项目验证项目是否正确且所有必须信息是可用的编译 compile执行编译源代码编译在此阶段完成测试 Test测试使用适当的单元测试框架(例如JUnit)运行测试。包装 package打包创建JAR/WAR包如在 pom.xml 中定义提及的包检查 verify检查对集成测试的结果进行检查,以保证质量达标安装 install安装...
  •  2020-07-17  |    程成  |    1661  |    0  |    Java  |   Maven  生命周期  
  • java异常 java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
  • 错误的原因是因为缺少slf4j日志组件jar包造成的,slf4j是一个开源的日志组件,和log4j类似,都是用来记录日志的开源组件。    SLF4J,即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种各样的日志系统。按照官方的说法,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统。    实际上,SLF4J所提供的核心API是一些接口以及一...
  •  2020-06-13  |    程成  |    1780  |    0  |    Java  |   异常  Java  error  
  • Java中堆内存和栈内存详解
  • Java把内存分成两种,一种叫做栈内存,一种叫做堆内存在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。堆内存用于存放由new创建的对象和数组。在堆中分配的内存,由java虚拟机自动垃圾回收器来管理。在堆中产生了一个数组或者对象后,还可以在栈中定义一个特殊的变量,这个变量的取值等于数组或者对象在堆内存中的首...
  •  2020-06-13  |    程成  |    1489  |    0  |    Java  |   Java  堆内存  栈内存  
  • Servlet——ServletContext 对象
  • ServletContext提两个问题:1.大家在访问某个网站的时候,往往都会看到网站的首页面显示您是第几位浏览者(网站计数器),这是怎么实现的?2.我们在访问某个bbs网站的时候,往往会显示有多少人在线,这是怎么实现的?可能我们会想到的常规实现思路:数据库或者文件。这种做法比较简单,但是却会对数据库或者文件访问过于频繁,开销比较大。解决之道是用ServletContext什么是ServletContext要理解ServletContext就必须和Cookie、Session做一个对比,如下图:...
  •  2020-06-12  |    程成  |    1541  |    0  |    Java  |   ServletContext  Servlet  
  • Java并发编程:volatile关键字解析
  • volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。  volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来了解一下与内存模型相关的概念和知识,然后分析了volatile关键字的实现原理,最后给出了几个使用vol...
  •  2020-06-12  |    程成  |    1600  |    0  |    Java  |   并发  volatile  Java