• java类路径中的classpath到底是什么
  • java项目中的classpath到底是什么在java项目中,你一定碰到过classpath,通常情况下,我们是用它来指定配置/资源文件的路径。在刚开始学习的时候,自己也糊里糊涂,但是现在,是时候弄清楚它到底是指什么了。顾名思义,classpath就是class的path,也就是类文件(*.class的路径)。一谈到文件的路径,我们就很有必要了解一个java项目(通常也是web项目)它在真正运行时候,这个项目内部的目录、文件的结构;这样,我们才好分析、理解classpath。开发时期的web项目...
  •  2020-07-17  |    程成  |    244  |    0  |    Java  |   类路径  classpath  java  
  • java异常 java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
  • 错误的原因是因为缺少slf4j日志组件jar包造成的,slf4j是一个开源的日志组件,和log4j类似,都是用来记录日志的开源组件。    SLF4J,即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种各样的日志系统。按照官方的说法,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统。    实际上,SLF4J所提供的核心API是一些接口以及一...
  •  2020-06-13  |    程成  |    357  |    0  |    Java  |   异常  Java  error  
  • Java中堆内存和栈内存详解
  • Java把内存分成两种,一种叫做栈内存,一种叫做堆内存在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。堆内存用于存放由new创建的对象和数组。在堆中分配的内存,由java虚拟机自动垃圾回收器来管理。在堆中产生了一个数组或者对象后,还可以在栈中定义一个特殊的变量,这个变量的取值等于数组或者对象在堆内存中的首...
  •  2020-06-13  |    程成  |    285  |    0  |    Java  |   Java  堆内存  栈内存  
  • Java并发编程:volatile关键字解析
  • volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。  volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来了解一下与内存模型相关的概念和知识,然后分析了volatile关键字的实现原理,最后给出了几个使用vol...
  •  2020-06-12  |    程成  |    315  |    0  |    Java  |   并发  volatile  Java  
  • Servlet 是什么
  • Servlet 在 Java Web 中非常重要,整个 Java Web 的核心知识体系都是围绕 Servlet 来转的。虽然很重要,但不是很难。什么是 Servlet ?概念:官方翻译是 server applet,运行在服务器端的小程序。从下图中可以看出:Servlet 就是一个接口,定义了 Java 类被浏览器访问到(tomcat)识别的规则。将来我们自定义一个类,实现 Servlet 接口,复写方法。快速入门:创建 JavaEE 项目定义一个类,实现 Servlet 接口实现接口中的抽象...
  •  2020-06-05  |    程成  |    255  |    0  |    Java  |   java  servlet  
  • Java为什么匿名内部类参数引用需要用final进行修饰
  • 1)  从程序设计语言的理论上:局部内部类(即:定义在方法中的内部类),由于本身就是在方法内部(可出现在形式参数定义处或者方法体处),因而访问方法中的局部变量(形式参数或局部变量)是天经地义的.是很自然的2)  为什么JAVA中要加上一条限制:只能访问final型的局部变量?3)  JAVA语言的编译程序的设计者当然全实现:局部内部类能访问方法中的所有的局部变量(因为:从理论上这是很自然的要求),但是:编译技术是无法实现的或代价极高.4)  困难在何处?到...
  •  2020-06-04  |    程成  |    221  |    0  |    Java  |   final  内部类  匿名  Java  
  • 前端调试javascript利器之debugger语句
  •     现在常用的浏览器IE、Chrome、360、Firefox都有相应的脚本调试功能,一般直接按F12开启开发者模式。不过如何在浏览器/VS中"快速"调试和定位我们的JS代码,感兴趣的你可以了解下debugger语句,希望本文对你有所帮助。一、开发者模式F12    打开浏览器,按下F12键,就会打开开发人员工具,这是浏览器内置的开发人员开发工具,方便开发人员对HTML、CSS、Javascr...
  •  2017-07-05  |    程成  |    1479  |    2  |    前端技术  |   debugger  调试  javascript  前端  
  • js如何阻止页面被iframe调用
  • 本文主要讲述页面如何阻止被iframe调用方法,分享给大家参考,具体实现如下:一、发现问题    有时候发现别人的网站中某些内容和自己网站一模一样,其实可能是别人用iframe引用了你的页面,下面我就介绍如何阻止页面被iframe调用方法,分享给大家参考。二、名词解释1、self:当前窗口对象(如果在iframe里,则为该框架的窗口对象)2、top:父窗口对象3、window:典型情况下,浏览器会为每一个打开的html创建对应的window对象,如果这个文...
  •  2017-06-27  |    程成  |    1319  |    0  |    前端技术  |   JS  iframe  location  JavaScript  前端  
  • 最全手机号加电话号码正则匹配、邮箱正则匹配、QQ正则匹配
  • 如何过滤一个输入框中除手机号或电话之外其他无意义的输入,这个时候就需要正则表达式来帮忙。下面直接上js/jquery实现的正则匹配手机电话号码、QQ、邮箱;同理,可以写出php中的正则匹配手机电话号码、QQ、邮箱。1、过滤正确手机号和电话号码只有手机号,座机,400开头号码,800开头号码才合法function checkPhone(strPhone) {     var phoneReg = /^[1]...
  •  2017-03-16  |    程成  |    1758  |    1  |    前端技术  |   正则  JavaScript  jQuery  JS  前端  
  • window.open拦截问题解决方法
  • 自己在写ajax方法,根据返回值打开新页面时候遇到了windows.open拦截问题。发现非用户自己主动的window.open,谷歌浏览器会自动拦截掉;ajax中的window.open就会解决方法:1、打开新的网页    var _target=window.open('about:blank')2、赋给网址链接    _target.location.href='www.xxx.com';...
  •  2017-02-06  |    程成  |    1475  |    0  |    前端技术  |   拦截  open  JavaScript  前端  JS  
  • JS 如何跨域的几种实用方法和原理
  • 自己搜索,并且总结了几种实用的js跨域方法以及其原理1、jsonp跨域2、document.domain3、window.name4、h5新方法window.postMessage1、jsonp 在js中,我们直接用XMLHttpRequest请求不同域上的数据时,是不可以的。但是,在页面上引入不同域上的js脚本文件却是可以的,jsonp正是利用这个特性来实现的。   服务器端php文件返回必须是一个可执行的js文件,所以data.php代码可能是这样的&...
  •  2017-02-06  |    程成  |    1082  |    0  |    前端技术  |   跨域  jQuery  JavaScript  前端