JDK

23种设计模式-----行为模式

故事扮演 提交于 2020-08-16 23:56:43
行为模式: 关注系统中对象之间的相互交互,研究运行时对象之间的相互通信和协作,明确对象职责 1.模板方法模式(template method) 定义了一个操作中的算法 骨架 ,将某些步骤延迟到子类中实现。这样,新的子类可以在不改变一个算法结构的前提下重新定义该算法的某些特定步骤。 即:处理步骤父类中定义好,具体实现延迟到子类中定义。 开发中:数据库访问的封装、Junit单元测试、servlet中doGet/doPost方法调用、Hibernate中模板程序等等 银行案例: 1 public abstract class BankTemplateMethod { 2 3 // 具体方法 4 public void takeNumber() { 5 System.out.println("取号排队" ); 6 } 7 8 // 办理具体业务 、钩子方法 9 public abstract void transact(); 10 public void evaluate() { 11 System.out.println("反馈评分" ); 12 } 13 14 // 模板方法 15 public final void process() { 16 this .takeNumber(); 17 18 this .transact(); 19 20 this .evaluate(); 21

CentOS 7 部署wiki(confluence) 7.6.0文库系统

假如想象 提交于 2020-08-16 23:24:39
环境需求 硬件配置:4C/16G/500G OS:centos7 部署 1.安装JDK 版本:1.8.0_151 准备文件 8u151-install_java.sh、jdk-8u151-linux-x64.gz # bash 8u151-install_java.sh ...... libss.x86_64 0:1.42.9-17.el7 libstdc++.x86_64 0:4.8.5-39.el7 libstdc++-devel.x86_64 0:4.8.5-39.el7 Complete! 开始部署jdk-8u151-linux-x64.gz jdk-8u151-linux环境部署完成 # cat 8u151-install_java.sh #!/bin/bash source /etc/profile ## java检测,避免重复追加环境变量 function check_java () { /usr/bin/which java 2> /dev/null && echo -e "\njava已存在,不再进行jdk-8u151-linux环境的部署。\n" && exit 1 } function check_environment () { yum -y install gcc gcc-c++ autoconf automake libtool make zlib

面试官问 Spring AOP 中两种代理模式的区别,我懵逼了

余生长醉 提交于 2020-08-16 23:14:01
基本介绍 代理模式 是一种结构性设计模式。为对象提供一个替身,以控制对这个对象的访问。即通过代理对象访问目标对象,并允许在将请求提交给对象前后进行一些处理。 被代理的对象可以是远程对象、创建开销大的对象或需要安全控制的对象。 代理模式主要有三种不同的形式: 静态代理:由程序员创建代理类或特定工具自动生成源代码再对其编译。在程序运行前代理类的 .class 文件就已经存在了 动态代理(JDK 代理、接口代理):在程序运行时运用反射机制动态创建而成,动态就是在程序运行时生成的,而不是编译时。 cglib 代理(可以在内存动态的创建对象,而不是实现接口,属于动态代理的范畴) 问题 为什么要控制对于某个对象的访问呢?举个例子:有这样一个消耗大量系统资源的巨型对象, 你只是偶尔需要使用它, 并非总是需要。 你可以实现延迟初始化:在实际有需要时再创建该对象。对象的所有客户端都要执行延迟初始代码。不幸的是, 这很可能会带来很多重复代码。 在理想情况下, 我们希望将代码直接放入对象的类中, 但这并非总是能实现:比如类可能是第三方封闭库的一部分。 解决方案 代理模式建议新建一个与原服务对象接口相同的代理类, 然后更新应用以将代理对象传递给所有原始对象客户端。代理类接收到客户端请求后会创建实际的服务对象, 并将所有工作委派给它。 代理将自己伪装成数据库对象,

JMeter 安装

旧巷老猫 提交于 2020-08-16 23:12:29
JMeter介绍 (参考: http://www.importnew.com/13876.html ) JMeter 使用了不同技术和协议,是一款可以进行配置和执行负载测试、性能测试和压力测试的工具。负载测试、性能测试和压力测试概念: 负载测试: 这类测试使系统或者应用程序在预先设计好的极端场景下测试运行。这类测试用来评估系统或者程序在极端条件下的行为。性能测试: 这种测试被用来检测系统的性能表现,包括特定情况下,系统的响应能力和稳定性。压力测试: 这类测试通过载入更多的外部资源,并使系统组件超越其所设定的能力范围,试图使系统挂掉。 准备工作 安装 JMeter 前需要安装 JDK JMeter下载及环境配置 下载 下载地址: http://jmeter.apache.org/download_jmeter.cgi ,(Windows版本下载 .zip,Linux版本下载 .tgz) 下载后无需安装,解压后即可使用。解压后目录如下: 环境配置 新增 JMETER_HOME 环境变量,变量值为 JMeter 解压的路径 编辑 CLASSPATH 变量,加上 %JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar; 完成以上操作后

一篇文章教会你,如何做到简历中要求的“要有扎实的Java基础”

倾然丶 夕夏残阳落幕 提交于 2020-08-16 22:39:10
推荐阅读: https://blog.csdn.net/m0_46995061/article/details/106470873 https://blog.csdn.net/m0_46995061/article/details/106124211 https://blog.csdn.net/m0_46995061/article/details/106148048 专注于编程、互联网动态。最终将总结的技术、心得、经验(数据结构与算法、源码分析等)享给大家,这里不只限于技术!还有 职场心得、生活感悟、以及面经。 点击上方 关注按钮,第一时间送达! 来历 本文来自于一次和群里猿友的交流,具体的情况且听LZ慢慢道来。 一日,LZ在群里发话,“招人啦。” 然某群友曰,“群主,俺想去。” LZ回之,“你年几何?” 群友曰,“两年也。” LZ憾言之,“惜了,三至五为佳。然如汝有扎实之基础,且附一技之长,倒也并非不可呀。” 群友惑,问之,“何为一技之长?” LZ抚须答曰,“皆可,吾之一技即为写。” 群友又问之,“何为基础扎实?” LZ请抚**答曰,“玩好JDK!” 前言 很多人对于公司的招聘要求中写的,要有“扎实的Java基础”,都很迷茫。 这到底啥意思?什么东西算作Java基础?学到什么程度才算扎实? 这些问题的答案,LZ已经用文言文告诉你了,咳咳,答案就是玩好JDK就可以了。

Java 编译期与运行期,别傻傻分不清楚!

我是研究僧i 提交于 2020-08-16 19:12:33
来源:小小木的博客 www.cnblogs.com/wyc1994666/p/11366802.html 不知大家有没有思考过,当我们使用IDE写了一个Demo类,并执行main函数打印 hello world时都经历了哪些流程么? 想通过这篇文章来分析分析Java的执行流程,或者换句话说想聊聊Java的编译期与运行期的流程。 开门见山 编译期间都做了什么 运行期间都做了什么 1. 开门见山 public class MyApp { public static void main(String[] args) { System.out.println("hello world"); } } 假如我们写了一个MyApp.java,并要打印‘hello world’ 那它需要经过哪些步骤? 第一步 : compile 通过编译器进行编译,从Java源码 ---> Java 字节码 这个编译器则是jdk 里的javac 编译器,我们只需 javac MyApp.java 即可以编译该源码,javac 编译器位于jdk --> bin -->javac 第二步 : load and execute 加载java 字节码并执行 可以通过jdk 里的java命令运行java字节码,我们只需 java MyApp.class 即可加载并执行该字节码,当运行java命令时

Appium+Python3环境搭建,其实超简单!【软件测试教程】

亡梦爱人 提交于 2020-08-16 17:57:01
appium可以说是做app最火的一个自动化框架,它的主要优势是支持android和ios,另外脚本语言也是支持java和Python。略懂Python,所以接下来的教程是appium+python,自己搭建环境的时候,按照某些博客安装遇到各种奇葩问题,希望此篇文章对你有所帮助,如有错误,请指正。 1、环境准备 (本人环境:系统 win7,64位操作系统) 1)jdk1.8.0(64位) 2)Android SDK 3)Python 3.5 4)AppiumForWindows_1_4_13_1 5)Node.js:node-v4.4.7-x64 6)Appium-Python-Client 安装包传送门(百度网盘): https://pan.baidu.com/s/1bHhupbBE5IQOcwbAkkzVog 2、 安装 JDK: 1) 下载 jdk安装包(我下的是jdk1.8的,我之前使用jmeter4.0的时候安装的) 2)一路傻瓜式安装,但是注意安装路径,最好是不要含空格和中文 3) 设置三个环境变量:计算机 --(右键)-->属性-->高级系统设置-->环境变量-->系统变量-->新建 A、JAVE_HOME:C:\Program Files\Java\jdk1.8.0_101(根据自己的jdk安装路径填写) B、CLASSPATH: .; %JAVA_HOME%

java怎么就能跨平台了呢

你离开我真会死。 提交于 2020-08-16 17:42:54
  学习java的同学都知道java是一门跨渠道的言语。   常常会听到“一次编译,处处运转”这句话。   那java是怎样就能完成这样的跨渠道功用了。   要弄清楚这个,咱们先来看看什么是JDK,什么是JVM吧。   JDK   JDK:英文全称为(JavaDevelopmentKit),中文意思是Java开发东西包。顾名思义,便是供给给开发人员使用的东西包。   和咱们这个问题相关的一个东西javac,便是包含在JDK这个东西包中的了。   JVM   JVM:英文全称为(JavaVirtualMachine),便是咱们常常提到听到的java虚拟机了。java能够跨渠道的关键便是在这儿了。   弄清楚JDK和JVM之后,咱们就来聊聊java是怎样完成“一次编译,处处运转”这样的跨渠道功用的。   咱们到官网下载jdk时一定有注意到相同版本号的jdk针对不同的操作系统,供给了不同的文件供咱们下载。   为什么会是这样的呢,其实这是给咱们装备了不同的翻译官。   这些翻译官都会两种言语。   一种言语是这些翻译官都会的,便是用来读懂javac东西编译出来的.class文件的言语。   而另一种言语是每个翻译官区别于其他翻译官的,只有自己会的言语。这个言语便是针对不同操作系统的可履行指令。   提到这儿,咱们应该现已了解java是怎样完成“一次编译,处处运转”这个跨渠道功用了吧。  

tomcat篇之与apache结合实现反代理(基于模块mod_jk,mod_proxy)

风流意气都作罢 提交于 2020-08-16 16:58:06
apache服务器:192.168.1.155 yum -y install httpd [root@RS1 conf]# httpd -v Server version: Apache/2.2.15 (Unix) Server built: May 11 2016 19:28:33 基于mod_jk模块: wget http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.41-src.tar.gz tar xf tomcat-connectors-1.2.41-src.tar.gz cd tomcat-connectors-1.2.41-src/native ./configure --with-apxs=/usr/sbin/apxs make && make install 查看是否已经存在mod_jk.so ls -l /etc/httpd/modules/mod_jk.so [root@RS1 conf]# ls -l /etc/httpd/modules/mod_jk.so -rwxr-xr-x. 1 root root 1215731 5月 17 05:35 /etc/httpd/modules/mod_jk.so 配置mod_jk模块 cd /etc/httpd

大数据外出实训报告一(2018/7/9)

被刻印的时光 ゝ 提交于 2020-08-16 16:14:04
石家庄铁道大学信息科学与技术学院实习实训日志 学生姓名 ** 所学专业 软件工程 班级学号 ********** 实习时间 2018年 7月 9日 今天学 习过程 和小结 1:介绍了大数据,云计算,人工智能概念 2:安装CentOS6.5,安装配置linux网络环境 3:使用SFTP工具上传jdk1.8到虚拟机中 4:使用Xshell工具创建目录,并解压jdk文件到linux系统中 5:我们简单了解到了java语言中的内存机制,java数据类型,堆区、栈区和方法区。 遇到问 题汇总 在使用linux命令的时遇到问题 在解压jdk的时候,发现jdk文件损坏,后来重新下载了一个 学习技能思维导图 (持续增加) Java 内存机制, javap 反编译原理, java 编译原理。 大数据,人工智能,云计算 来源: oschina 链接: https://my.oschina.net/u/4364002/blog/4301562