• 线程和进程的关系及区别
  • 1.定义一个程序至少有一个进程,一个进程至少有一个线程。进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.2.关系一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行.相对进程而...
  •  2020-06-12  |    程成  |    234  |    0  |    其他  |   线程  进程  
  • 解决项目运行时,xxx cannot be cast to xxx.xxx.xxx报错
  • 当 Maven 一键构建时(一键构建的意思就是:我们不再使用本地安装的 Tomcat,而是使用 Maven 自身集成的 Tomcat 插件对项目进行构建),注意,这个时候大家都知道 Maven 自身具有 Tomcat 插件,既然是 Tomcat 插件,那么Tomcat 所依赖的包就是 Maven 应该有的包。你本地的 Tomcat 所在的包和你项目导入的包,包名一样时,就是相冲的,名称一模一样,所以就有了冲突。我们需要修改导入包的作用域,Maven 作于专业的包管理工具,我们只要让导入包只在编译...
  •  2020-06-07  |    程成  |    259  |    0  |    Java  |   冲突  maven  servlet  
  • Mac 上如何安装 Tomcat
  • 首先保证brew命令能够正常使用;1、搜索tomcat是否存在:brew search tomcat2、安装tomcat:brew install tomcat3、检查是否安装成功:catalina -h4、运行tomcat:catalina runTomcat的默认端口是8080,如果运行成功可通过http://localhost:8080访问webapp的根目录(CATALINA_HOME)为:/usr/local/Cellar/tomcat/7.0.33/libexec/webapps/R...
  •  2020-06-05  |    程成  |    240  |    0  |    Java  |   Mac  Tomcat  
  • Servlet 是什么
  • Servlet 在 Java Web 中非常重要,整个 Java Web 的核心知识体系都是围绕 Servlet 来转的。虽然很重要,但不是很难。什么是 Servlet ?概念:官方翻译是 server applet,运行在服务器端的小程序。从下图中可以看出:Servlet 就是一个接口,定义了 Java 类被浏览器访问到(tomcat)识别的规则。将来我们自定义一个类,实现 Servlet 接口,复写方法。快速入门:创建 JavaEE 项目定义一个类,实现 Servlet 接口实现接口中的抽象...
  •  2020-06-05  |    程成  |    234  |    0  |    Java  |   java  servlet  
  • xml 配置文件中 xmlns 作用是什么
  •     做WEB页面的人经常会碰到形如<html xmlns="http://www.w3.org/1999/xhtml">这样的代码,那后面的xmlns是表示什么意思呢?    官方概念:xmlns是xml namespace的缩写,也就是XML命名空间,xmlns 属性可以在文档中定义一个或多个可供选择的命名空间。该属性可以放置在文档内任何元素的开始标签中。该属性的值类似于 URL...
  •  2020-06-04  |    程成  |    289  |    0  |    Java  |   xmlns  命名空间  xml  
  • Java为什么匿名内部类参数引用需要用final进行修饰
  • 1)  从程序设计语言的理论上:局部内部类(即:定义在方法中的内部类),由于本身就是在方法内部(可出现在形式参数定义处或者方法体处),因而访问方法中的局部变量(形式参数或局部变量)是天经地义的.是很自然的2)  为什么JAVA中要加上一条限制:只能访问final型的局部变量?3)  JAVA语言的编译程序的设计者当然全实现:局部内部类能访问方法中的所有的局部变量(因为:从理论上这是很自然的要求),但是:编译技术是无法实现的或代价极高.4)  困难在何处?到...
  •  2020-06-04  |    程成  |    212  |    0  |    Java  |   final  内部类  匿名  Java  
  • 在 Mac 上如何安装和卸载 JDK
  • 如果你用的brew命令安装,那么直接brew uninstall xxxx即可。卸载方法:https://stackoverflow.com/questions/19039752/removing-java-8-jdk-from-mac安装方法:https://docs.oracle.com/en/java/javase/11/install/installation-jdk-macos.html#GUID-E8A251B6-D9A9-4276-ABC8-CC0DAD62EA33如果你英文不好,...
  •  2020-05-22  |    程成  |    245  |    0  |    Java  |   Mac  JDK  安装  卸载  
  • JDBC Driver class not found: com.mysql.jdbc.Driver 解决方法
  • pom.xml中直接报错了,并且提示:JDBC Driver class not found: com.mysql.jdbc.Driver解决方法:1、下载包,包地址:https://dev.mysql.com/downloads/connector/j/5.1.html2、添加 mysql-connector-java-5.1.49-bin.jar 到你本地的 maven 仓库mvn install:install-file -Dfile=/Users/chengcheng...
  •  2020-05-22  |    程成  |    259  |    0  |    Java  |   JDBC  Driver  
  • 阿里云负载均衡SLB支持HTTP/HTTPS超时时间自定义功能
  • 最近遇到了一个bug,同样大小的文件,在测试环境上传妥妥的,在正式环境上传报错504网关超时。两边代码除了正式环境配置了 SLB 外,没有任何区别。那么肯定是 负载SLB 某个地方出了问题。解决:负载均衡SLB对于HTTP/HTTPS监听中有两个相关的超时时间。连接空闲超时时间:HTTP/HTTPS协议承载与TCP协议,基于HTTP/1.1以上的HTTP/HTTPS请求通常并不是发生一次访问请求就建立一个TCP连接,而是对TCP连接有一定的复用,即同一条TCP连接上可以承载多个HTTP/HTTP...
  •  2020-03-02  |    程成  |    541  |    0  |    服务器  |   阿里云  超时时间  SLB  
  • redis 和 kafka 的区别
  • Kafka与Redis PUB/SUB之间较大的区别在于Kafka是一个完整的系统,而Redis PUB/SUB只是一个套件(utility)——没有冒犯Redis的意思,毕竟它的主要功能并不是PUB/SUB。redis 消息推送(基于分布式 pub/sub)多用于实时性较高的消息推送,并不保证可靠。其他的mq和kafka保证可靠但有一些延迟(非实时系统没有保证延迟)。redis-pub/sub断电就清空,而使用redis-list作为消息推送虽然有持久化,但是又太弱智,也并非完全可靠不会丢。另...
  •  2020-03-02  |    程成  |    473  |    0  |    数据库  |   redis  kafka  缓存