- Linux网络性能常用工具指标
安顾里
linux网络性能优化
性能指标:带宽,表示链路的最大传输速率,单位通常为b/s(比特/秒)。吞吐量,表示单位时间内成功传输的数据量,单位通常为b/s(比特/秒)或者B/s(字节/秒)。吞吐量受带宽限制,而吞吐量/带宽,也就是该网络的使用率。延时,表示从网络请求发出后,一直到收到远端响应,所需要的时间延迟。在不同场景中,这一指标可能会有不同含义。比如,它可以表示,建立连接需要的时间(比如TCP握手延时),或一个数据包往返
- docker安装命令及命令使用
Linux。。
dockerlinux运维
##第一章:掌握Docker安装及命令使用####安装Docker注意事项>CentOS7:操作系统版本不能低于7版本,内核版本3.10,内核的支持已经很完善了>>CentOS6版本内核:2.x版本,对容器的支持不是很完善####Docker版本介绍>社区版:docker-ce>>企业版:docker-ee####安装前环境准备```shell#关闭防火墙与SELinux[root@localho
- Linux下Docker基础命令(使用腾讯云镜像源)
云计算课代表
日常运维问题合集linuxdocker腾讯云服务器centos运维
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,简单的理解就是“轻量级的虚拟机”。本文主要介绍在CentOS7.x下,使用腾讯云服务器,结合腾讯云镜像源,了解Docker的基础命令。卸载旧版本的Docker如果要安装新版本
- Linux系统编程(10)线程资源回收和互斥锁
流殇258
java开发语言
一、pthread_cancel函数pthread_cancel函数用于请求取消一个线程。当调用pthread_cancel时,它会向指定的线程发送一个取消请求。#includeintpthread_cancel(pthread_tthread);thread:要发送取消请求的线程标识符。成功时,返回0。失败时,返回一个错误号二、pthread_detach函数pthread_detach用于将线
- 2021-08-01
yqq32
转载自https://blog.csdn.net/yy150122/article/details/106146414Linux从零开始学习笔记从零开始学习Linux,记录笔记,担心自己以后会忘,也供大家茶余饭后,闲来无事看看,自己的理解只能到这,能力有限。Linux学习笔记第一章Linux起源第二章系统分区第三章Linux安装与配置第四章Linux常用命令第一节文件处理命令第一讲命令格式与目录处
- Python自动化运维 - day9 - 进程与线程
anhuoqiu1787
运维操作系统python
概述我们都知道windows是支持多任务的操作系统。什么叫“多任务”呢?简单地说,就是操作系统可以同时运行多个任务。打个比方,你一边在用浏览器上网,一边在听MP3,一边在用Word赶作业,这就是多任务,至少同时有3个任务正在运行。还有很多任务悄悄地在后台同时运行着,只是桌面上没有显示而已。现在,多核CPU已经非常普及了,但是,即使过去的单核CPU,也可以执行多任务。由于CPU执行代码都是顺序执行的
- Linux Kernel 6.12版预计将支持在崩溃后显示二维码 后续可以解码排查错误
吴脑的键客
Linuxlinux运维服务器
7月份时红帽工程师基于systemd255+版的全屏显示错误消息功能为LinuxKernel开发崩溃后显示二维码选项,这与微软在Windows10/11蓝屏死机后显示二维码有异曲同工之妙。不过Linux与Windows在崩溃时显示的二维码内容则有本质区别,因为WindowsBSOD显示的二维码实际就是微软帮助文档的链接,属于固定内容二维码。LinuxKernel的崩溃后显示二维码是将崩溃日志生成二
- 12-GUI-tkinter
蛋挞先生L
tkinter介绍tkinter是python自带的GUI库,是对图形库TK的封装tkinter是一个跨平台的GUI库,开发的程序可以在win,linux或者mac下运行除此之外还存在很多图形库,例如pythonWin仅适合window的界面编程库wxPython第三方界面编程库组件概念一个窗口中任意内容都可以称之为一个组件tkinter的组件包含以下几种按钮组件Button按钮组件RadioBu
- 使用Docker构建支持中文字体的Java镜像
DN金猿
dockerdockerjava文字方框
做停车场生成二维码时,在代码中用到在图片上添加文字或水印,文字在本地正常显示,到linux服务器就显示方框,由于我用的是docker部署的java项目,所以在linux服务器中安装了中文字体还是无效,因为项目是部署中docker容器里。Fontfont3=newFont("微软雅黑",Font.PLAIN,72);微软雅黑字体显示方框(方框部分是添加的文字)后来查了很多资料,发现都不行。因为我的D
- 准备工作(初始化)
huba88
linuxcentos
一、关闭防火墙:查看:systemctlstatusfirewalld关闭:systemctlstopfirewalld//临时关闭开机不自启:systemctldisablefirewalld--now//永久关闭二、关闭SELINUX:查看:getenforce临时关闭:setenforce0永久关闭:[root@localhost~]#sed-i's/^SELINUX=.*/SELINUX=
- Linux文件共享
写代码的小阿帆
运维linux运维服务器
FTPtcp协议的传输文件标准,安装方法yuminstall-yvsftpd,使用systemctlstartvsftpd开启服务,使用setenforce0和systemctlstopfirewalld关闭SELinux和防火墙,避免对ftp协议的干扰。客户端使用yum-yinstallftp安装ftp组件,使用时直接ftp目的ip即可建立ftp链接。配置文件在/etc/vsftpd/vsftp
- 分布式搜索引擎Elasticsearch——基础
敲代码的旺财
架构进阶elasticsearchjava搜索引擎ES-head
文章目录一、Lucene与Solr与Elasticsearch二、ES核心术语三、ES核心概念四、倒排索引五、ES的安装(centos7)1、下载地址(这里安装linux版本)2、解压压缩包3、修改配置文件(1)修改核心配置文件(2)修改JVM配置文件4、启动ES(1)添加系统用户并授权(2)ES启动(3)修改配置文件(4)再次启动ES六、安装ES-head插件(可视化管理插件)1、使用谷歌市场安
- puppet配置之puppet.conf详解中英文对照
自信哥
LINUXparametersserverfiledatabaseattributessearch
【导读】sky也是运维人员,在使用puppet的配置过程中,经常会有碰到些参数,不知道如何修改,每次都要去看查puppet手册,要不去puppet的官方网站去看文档,另外也有些同学不知道,puppet的配置到底有那些参数,以及参数的具体意思,你真的懂得puppet吗,熟悉puppet参数吗,为节约时间查找,直接把相关内容转贴过来,带着上面的问题跟sky一起学习puppet.conf吧!【基础】pu
- linux 内网共享文件夹_局域网中实现linux文件共享
yy tt
linux内网共享文件夹
局域网中实现linux与Windows文件共享文件共享是重要的网络需求,特别在企业环境中这种需求显得非常迫切。我们知道Windows主机间的文件共享非常简单,可以通过网上邻居实现。但是企业环境中主机的操作系统比较复杂,其中不乏Linux、Unix这样的系统。那如何实现Windows与Linux之间的文件共享呢?一个有效的解放方案是,在Linux平台上部署SAMBA即可实现此类共享需求。下面笔者搭建
- 【CentOS7】【配置本地yum源】
酷大有
centos
转载自:https://zhuanlan.zhihu.com/p/5783873591本地使用yum源1.1基于iso镜像的centos源1.1.1准备iso#首先看自己使用的linux服务器内核版本[root@centos-2009home]#cat/etc/redhat-releaseCentOSLinuxrelease7.9.2009(Core)#下载对应版本的linux镜像#我这里用的时清
- linux用户和组管理的实验报告,LINUX实验三 用户管理
就是Hcy呀
实验三用户管理一、实验目的和要求1)掌握在Linux系统下利用命令方式实现用户和组的管理;2)掌握批量创建用户的方法。二、实验内容和原理1.用户的管理l、创建一个新用户user01,设置其主目录为/home/user01。2、查看/etc/passwd文件的最后一行,看看是如何记录的。3、查看文件/etc/shadow文件的最后一行,看看是如何记录的。4、给用户user01设置密码。5、再次查看文
- 【Linux】Makefile项目管理工具(第八篇)
爱编程的小猴
Linuxlinux运维服务器
目录makefile1.0makefile2.0makefile3.0Makefile可以简单的认为是一个工程文件的编译规则,描述了整个工程的编译和链接等规则。其中包含了哪些文件需要编译,哪些文件不需要编译,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重建等等。编译整个工程需要涉及到的,在Makefile中都可以进行描述。换句话说,Makefile可以使得我们的项目工程的编译变得自动化,不
- 连接Redis报错:connect timed out
不会起名啊
redis
连接Redis报错:connecttimedout1、将redis.conf配置文件中的bind127.0.0.1注释掉,此处限制可以链接redis的ip2、如果上一个方法不行,就应该是Linux的防火墙的问题了我这里用的是CentOS7,在CentOS7中默认使用firewall做为防火墙,下面是启动&关闭防火墙的命令://启动firewallsystemctlstartfirewalld.se
- 【Linux+Docker】修改Docker容器中的hosts文件
iku!!
Linuxlinuxdocker运维
1、进入容器bashdockerexec-itbash2、安装编辑器2.1、安装vimapt-getupdateapt-getinstallvim2.2、安装nanoapt-getinstallnano3、编辑hosts文件3.1、使用vim编辑vi/etc/hosts3.2、使用nano编辑nano/etc/hosts4、安装pingapt-getinstalliputils-ping
- 【Linux命令】进程、端口查询命令
iku!!
Linuxlinux服务器运维
1、根据进程ID查询占用的端口号netstat-nlp|grep[进程ID]2、根据端口号查询占用它的进程IDlsof-i:[端口号]或者netstat-nlp|grep[端口号]
- 火狐linux ubuntu16.04,在Ubuntu16.04系统上更新FireFox浏览器(即火狐浏览器)到最新版本...
憋人的故事
火狐linuxubuntu16.04
前言难点在于我下载的是一个压缩包firefox-61.0.2.tar.bz2,没法按照正常流程安装,所以才写这篇博客记录一下。一、找到FireFox的更新版本并下载1)我之前的版本是Firefox54,按照浏览器的提示是:alreadyoutofdate;而且旧版本的真心不好用,所以我打算更新一下。点击右侧的菜单栏,里面有个help->AboutFirefox,点进去:AboutMozillaFi
- linux 火狐源码,Ubuntu 16.04下源码编译Firefox
黑田光
linux火狐源码
因为出于工作项目需要,得完成在Ubuntu下的Firefox源码编译网上的教程多是在windows环境下的,而且也没有正经的教程有的也只是讲道理,它因为要考虑照顾到所有可能用户的需求,所以把教程写的很啰嗦,繁琐,真的不是很想看下。然后我就将其步骤简化了一下,略去各种乱七八糟的情况,整理下无脑版Ubuntu16.04下源码编译Firefox当然主要参考的还是上述的官方教程。0.Ubuntu16.04
- 菜鸟的ai进阶之路(持续更新中...)
夸父的天空
AI进阶linux基础操作python基础语法计算机视觉基础docker基础操作
Day1:1、linux基础指令:Pwd:查看当前所在路径;cat/proc/cpuinfo:查看cpuLs:当前所在路径下有哪些内容;ls-l:以长格式显示(long);Ls-a:显示所有(包含隐藏)all;La-al/ls-la:以长格式显示所有文件;2、路径:绝对路径:以/开始的路径/home/tarena相对路径:不以/开始的路径…:上一级目录~:主目录/home/gary3、cd:切换目
- 【Go语言成长之路】使用 Go 和 Gin 开发 RESTful API
风华同学
Go语言成长之路golangginrestful
文章目录使用Go和Gin开发RESTfulAPI一、前提二、设计API端点三、创建项目四、运行项目4.1编写代码4.2运行代码使用Go和Gin开发RESTfulAPI本教程使用Go和GinWebFramework(Go语言中优秀的第三方Web框架)编写一个RESTfulWeb服务API,实现路由请求、检索请求详细信息、JSON编码响应。一、前提Go1.16以及之后的版本curl工具,在Linux和
- 在VScode中使用Git将本地已有文件夹提交到Github仓库以便于使用版本控制进行项目开发
一路破防的Java选手
vscodegitgithub后端remoteorigin版本控制
前置软件VScode、Git。Linux系统中安装Git工具请自行百度。可以通过git--version查看对应Git版本号。Github创建空白仓库一定要注意创建空白仓库,不要包含任何文件,包括Readme.md文件也不能有。上面的仓库名(Repositoryname)一定要和本地即将上传到Github上的文件名一致,其他任何选项都不要点击,直接点击绿色【CreteRepository】选项。(
- 2018-10-08
may1051
Archlinux+xfce4安装笔记(grub+mbr)分区#fdisk-l找到/dev,此时,可以清晰地看到分区列表,对应于自己要操作的硬盘,使用命令:#fdisk/dev/sdXn:新建分区w:写入硬盘信息格式化分区:#mkfs.ext4/dev/sdaY挂载分区:#mount/dev/sdaY/mnt...(如mount/dev/sda1/mntmount/dev/sda2/mnt/boo
- Python3 | 练气期,入门初识与起步!
全栈工程师修炼指南
企业IT运维实践python
[知识是人生的灯塔,只有不断学习,才能照亮前行的道路]0x00前言简述描述:作为一名网络安全转运维的工程师,每天一睁眼就要马不停蹄的学习各类计算机技术、编程和网络安全知识等,在工作中接触过很多编程语言,比如:C、Java、Python、PHP、Shell、PowerShell等,但都仅仅停留在看得懂一些,会简单使用一些的阶段,却没有去深入的了解过这些语言。正好这才趁着进行机器学习的机会,将Pyth
- Windows系统下安装WSL使用Redis
缘_妙不可言o
一、起源 最近毕业设计需要用到Redis,我的电脑又是Windows系统,不太想加Linux搞双系统,也不太想用虚拟机。本着学习的原则上网搜了下Redis的下载安装,发现大部分都是去官网或者去github下载安装。但是发现官网的Windows下载链接和github都进不去,开VPN也进不去。这就难受了! 后来在官网发现一个地方支持Windows下安装Redis,那就是安装WSL2。下面是Red
- 在Ubuntu/Debian Linux系统上检查已经安装软件包的版本
welson_ll
linux
如果要在Ubuntu/DebianLinux操作系统上检查已经安装软件包的版本(知道Ubuntu/Debian系统上可用的软件包版本),可使用apt、apt-cache、aptitude和apt-show-versions命令。前言在Linux中,所有应用程序均以程序包的形式分发,无非就是与程序包管理系统关联的文件。本文将向您展示一些命令,这些命令可用于检查Ubuntu/DebianLinux机器
- 实习的一点回顾Gradle
BigOrangeSama
javajava
1项目目录下执行./gradlewbuild,用.gradlew自动构建首先有一个gradlew(linux)或者gradlew.bat(win)是用来检查java配置,环境配置之类的东西然后去启动gradle/wrapper/gradle-wrapper.jar去检测本地gradle版本是否和配置文件gradle/wrapper/gradle-wrapper.properties中的一样,不一样
- 算法 单链的创建与删除
换个号韩国红果果
c算法
先创建结构体
struct student {
int data;
//int tag;//标记这是第几个
struct student *next;
};
// addone 用于将一个数插入已从小到大排好序的链中
struct student *addone(struct student *h,int x){
if(h==NULL) //??????
- 《大型网站系统与Java中间件实践》第2章读后感
白糖_
java中间件
断断续续花了两天时间试读了《大型网站系统与Java中间件实践》的第2章,这章总述了从一个小型单机构建的网站发展到大型网站的演化过程---整个过程会遇到很多困难,但每一个屏障都会有解决方案,最终就是依靠这些个解决方案汇聚到一起组成了一个健壮稳定高效的大型系统。
看完整章内容,
- zeus持久层spring事务单元测试
deng520159
javaDAOspringjdbc
今天把zeus事务单元测试放出来,让大家指出他的毛病,
1.ZeusTransactionTest.java 单元测试
package com.dengliang.zeus.webdemo.test;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import
- Rss 订阅 开发
周凡杨
htmlxml订阅rss规范
RSS是 Really Simple Syndication的缩写(对rss2.0而言,是这三个词的缩写,对rss1.0而言则是RDF Site Summary的缩写,1.0与2.0走的是两个体系)。
RSS
- 分页查询实现
g21121
分页查询
在查询列表时我们常常会用到分页,分页的好处就是减少数据交换,每次查询一定数量减少数据库压力等等。
按实现形式分前台分页和服务器分页:
前台分页就是一次查询出所有记录,在页面中用js进行虚拟分页,这种形式在数据量较小时优势比较明显,一次加载就不必再访问服务器了,但当数据量较大时会对页面造成压力,传输速度也会大幅下降。
服务器分页就是每次请求相同数量记录,按一定规则排序,每次取一定序号直接的数据
- spring jms异步消息处理
510888780
jms
spring JMS对于异步消息处理基本上只需配置下就能进行高效的处理。其核心就是消息侦听器容器,常用的类就是DefaultMessageListenerContainer。该容器可配置侦听器的并发数量,以及配合MessageListenerAdapter使用消息驱动POJO进行消息处理。且消息驱动POJO是放入TaskExecutor中进行处理,进一步提高性能,减少侦听器的阻塞。具体配置如下:
- highCharts柱状图
布衣凌宇
hightCharts柱图
第一步:导入 exporting.js,grid.js,highcharts.js;第二步:写controller
@Controller@RequestMapping(value="${adminPath}/statistick")public class StatistickController { private UserServi
- 我的spring学习笔记2-IoC(反向控制 依赖注入)
aijuans
springmvcSpring 教程spring3 教程Spring 入门
IoC(反向控制 依赖注入)这是Spring提出来了,这也是Spring一大特色。这里我不用多说,我们看Spring教程就可以了解。当然我们不用Spring也可以用IoC,下面我将介绍不用Spring的IoC。
IoC不是框架,她是java的技术,如今大多数轻量级的容器都会用到IoC技术。这里我就用一个例子来说明:
如:程序中有 Mysql.calss 、Oracle.class 、SqlSe
- TLS java简单实现
antlove
javasslkeystoretlssecure
1. SSLServer.java
package ssl;
import java.io.FileInputStream;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.security.KeyStore;
import
- Zip解压压缩文件
百合不是茶
Zip格式解压Zip流的使用文件解压
ZIP文件的解压缩实质上就是从输入流中读取数据。Java.util.zip包提供了类ZipInputStream来读取ZIP文件,下面的代码段创建了一个输入流来读取ZIP格式的文件;
ZipInputStream in = new ZipInputStream(new FileInputStream(zipFileName));
&n
- underscore.js 学习(一)
bijian1013
JavaScriptunderscore
工作中需要用到underscore.js,发现这是一个包括了很多基本功能函数的js库,里面有很多实用的函数。而且它没有扩展 javascript的原生对象。主要涉及对Collection、Object、Array、Function的操作。 学
- java jvm常用命令工具——jstatd命令(Java Statistics Monitoring Daemon)
bijian1013
javajvmjstatd
1.介绍
jstatd是一个基于RMI(Remove Method Invocation)的服务程序,它用于监控基于HotSpot的JVM中资源的创建及销毁,并且提供了一个远程接口允许远程的监控工具连接到本地的JVM执行命令。
jstatd是基于RMI的,所以在运行jstatd的服务
- 【Spring框架三】Spring常用注解之Transactional
bit1129
transactional
Spring可以通过注解@Transactional来为业务逻辑层的方法(调用DAO完成持久化动作)添加事务能力,如下是@Transactional注解的定义:
/*
* Copyright 2002-2010 the original author or authors.
*
* Licensed under the Apache License, Version
- 我(程序员)的前进方向
bitray
程序员
作为一个普通的程序员,我一直游走在java语言中,java也确实让我有了很多的体会.不过随着学习的深入,java语言的新技术产生的越来越多,从最初期的javase,我逐渐开始转变到ssh,ssi,这种主流的码农,.过了几天为了解决新问题,webservice的大旗也被我祭出来了,又过了些日子jms架构的activemq也开始必须学习了.再后来开始了一系列技术学习,osgi,restful.....
- nginx lua开发经验总结
ronin47
使用nginx lua已经两三个月了,项目接开发完毕了,这几天准备上线并且跟高德地图对接。回顾下来lua在项目中占得必中还是比较大的,跟PHP的占比差不多持平了,因此在开发中遇到一些问题备忘一下 1:content_by_lua中代码容量有限制,一般不要写太多代码,正常编写代码一般在100行左右(具体容量没有细心测哈哈,在4kb左右),如果超出了则重启nginx的时候会报 too long pa
- java-66-用递归颠倒一个栈。例如输入栈{1,2,3,4,5},1在栈顶。颠倒之后的栈为{5,4,3,2,1},5处在栈顶
bylijinnan
java
import java.util.Stack;
public class ReverseStackRecursive {
/**
* Q 66.颠倒栈。
* 题目:用递归颠倒一个栈。例如输入栈{1,2,3,4,5},1在栈顶。
* 颠倒之后的栈为{5,4,3,2,1},5处在栈顶。
*1. Pop the top element
*2. Revers
- 正确理解Linux内存占用过高的问题
cfyme
linux
Linux开机后,使用top命令查看,4G物理内存发现已使用的多大3.2G,占用率高达80%以上:
Mem: 3889836k total, 3341868k used, 547968k free, 286044k buffers
Swap: 6127608k total,&nb
- [JWFD开源工作流]当前流程引擎设计的一个急需解决的问题
comsci
工作流
当我们的流程引擎进入IRC阶段的时候,当循环反馈模型出现之后,每次循环都会导致一大堆节点内存数据残留在系统内存中,循环的次数越多,这些残留数据将导致系统内存溢出,并使得引擎崩溃。。。。。。
而解决办法就是利用汇编语言或者其它系统编程语言,在引擎运行时,把这些残留数据清除掉。
- 自定义类的equals函数
dai_lm
equals
仅作笔记使用
public class VectorQueue {
private final Vector<VectorItem> queue;
private class VectorItem {
private final Object item;
private final int quantity;
public VectorI
- Linux下安装R语言
datageek
R语言 linux
命令如下:sudo gedit /etc/apt/sources.list1、deb http://mirrors.ustc.edu.cn/CRAN/bin/linux/ubuntu/ precise/ 2、deb http://dk.archive.ubuntu.com/ubuntu hardy universesudo apt-key adv --keyserver ke
- 如何修改mysql 并发数(连接数)最大值
dcj3sjt126com
mysql
MySQL的连接数最大值跟MySQL没关系,主要看系统和业务逻辑了
方法一:进入MYSQL安装目录 打开MYSQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_connections=1000 服务里重起MYSQL即可
方法二:MySQL的最大连接数默认是100客户端登录:mysql -uusername -ppass
- 单一功能原则
dcj3sjt126com
面向对象的程序设计软件设计编程原则
单一功能原则[
编辑]
SOLID 原则
单一功能原则
开闭原则
Liskov代换原则
接口隔离原则
依赖反转原则
查
论
编
在面向对象编程领域中,单一功能原则(Single responsibility principle)规定每个类都应该有
- POJO、VO和JavaBean区别和联系
fanmingxing
VOPOJOjavabean
POJO和JavaBean是我们常见的两个关键字,一般容易混淆,POJO全称是Plain Ordinary Java Object / Plain Old Java Object,中文可以翻译成:普通Java类,具有一部分getter/setter方法的那种类就可以称作POJO,但是JavaBean则比POJO复杂很多,JavaBean是一种组件技术,就好像你做了一个扳子,而这个扳子会在很多地方被
- SpringSecurity3.X--LDAP:AD配置
hanqunfeng
SpringSecurity
前面介绍过基于本地数据库验证的方式,参考http://hanqunfeng.iteye.com/blog/1155226,这里说一下如何修改为使用AD进行身份验证【只对用户名和密码进行验证,权限依旧存储在本地数据库中】。
将配置文件中的如下部分删除:
<!-- 认证管理器,使用自定义的UserDetailsService,并对密码采用md5加密-->
- mac mysql 修改密码
IXHONG
mysql
$ sudo /usr/local/mysql/bin/mysqld_safe –user=root & //启动MySQL(也可以通过偏好设置面板来启动)$ sudo /usr/local/mysql/bin/mysqladmin -uroot password yourpassword //设置MySQL密码(注意,这是第一次MySQL密码为空的时候的设置命令,如果是修改密码,还需在-
- 设计模式--抽象工厂模式
kerryg
设计模式
抽象工厂模式:
工厂模式有一个问题就是,类的创建依赖于工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了闭包原则。我们采用抽象工厂模式,创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码。
总结:这个模式的好处就是,如果想增加一个功能,就需要做一个实现类,
- 评"高中女生军训期跳楼”
nannan408
首先,先抛出我的观点,各位看官少点砖头。那就是,中国的差异化教育必须做起来。
孔圣人有云:有教无类。不同类型的人,都应该有对应的教育方法。目前中国的一体化教育,不知道已经扼杀了多少创造性人才。我们出不了爱迪生,出不了爱因斯坦,很大原因,是我们的培养思路错了,我们是第一要“顺从”。如果不顺从,我们的学校,就会用各种方法,罚站,罚写作业,各种罚。军
- scala如何读取和写入文件内容?
qindongliang1922
javajvmscala
直接看如下代码:
package file
import java.io.RandomAccessFile
import java.nio.charset.Charset
import scala.io.Source
import scala.reflect.io.{File, Path}
/**
* Created by qindongliang on 2015/
- C语言算法之百元买百鸡
qiufeihu
c算法
中国古代数学家张丘建在他的《算经》中提出了一个著名的“百钱买百鸡问题”,鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁,母,雏各几何?
代码如下:
#include <stdio.h>
int main()
{
int cock,hen,chick; /*定义变量为基本整型*/
for(coc
- Hadoop集群安全性:Hadoop中Namenode单点故障的解决方案及详细介绍AvatarNode
wyz2009107220
NameNode
正如大家所知,NameNode在Hadoop系统中存在单点故障问题,这个对于标榜高可用性的Hadoop来说一直是个软肋。本文讨论一下为了解决这个问题而存在的几个solution。
1. Secondary NameNode
原理:Secondary NN会定期的从NN中读取editlog,与自己存储的Image进行合并形成新的metadata image
优点:Hadoop较早的版本都自带,