- 如何防止 Docker 注入了恶意脚本
调皮的芋头
docker容器运维web安全阿里云
根据您的描述,攻击者通过CentOS7系统中的Docker注入了恶意脚本,导致自动启动名为“masscan”和“x86botnigletjsw”的进程。这些进程可能用于网络扫描或其他恶意活动。为了解决这一问题,建议您采取以下步骤:1.停止并删除可疑容器和进程:列出所有运行中的容器:dockerps-a检查输出,寻找与“masscan”或“x86botnigletjsw”相关的容器。停止并删除可疑容
- Rocky Linux9下安装Docker和卸载Docker
Hadoop_Liang
dockerdocker容器运维
前提条件安装好RockyLinux9,可参考Vmware下安装RockyLinux9.4安装Docker精简版命令yuminstall-yyum-utilsyum-config-manager--add-repohttps://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repoyuminstall-ydocker-cesystemctl
- Centos系统磁盘占用:/dev/vda1占用100%空间不足处理与解决思路(实战docker占用空间太大)
热心码民阿振
Linux服务器docker运维
前言服务器Centos操作系统,空间不足的问题处理了三次了,决定把它的解决思路和处理过程记录下来。服务器空间不足是一个经常会遇到的问题,尤其是在大型应用程序和网站上。当服务器空间不足时,应该采取一些步骤来处理和解决这个问题。以下记录最近这次的解决方案和思路(原因:docker占用空间太大了)现象服务器空间不足会导致以下一些现象:应用程序无法运行:当服务器空间不足时,某些应用程序可能会无法正常启动或
- 在 Linux 系统上编译安装高版本 Python
perfect12312645
python
在Linux系统上进行软件安装时,我们经常会面临各种挑战,其中一个典型的情况就是官网不再提供所需软件的二进制包,这时我们就不得不进行编译安装。本文将为你详细展示如何在CentOS7.6系统上完成高版本Python的编译安装,并涵盖了一系列前置依赖的安装、高版本OpenSSL的编译安装以及相关的环境配置过程,帮助你克服可能遇到的困难。一、实验环境说明本次实验使用的系统是CentOS7.6,你可以通过
- CentOS8 解决设置基础软件仓库时出错
kewen_123
linux
安装源设置代理url:https://mirrors.aliyun.com/centos/8-stream/BaseOS/x86_64/os/
- VMware Centos8突然上不了网,`Could not resolve host: mirrorlist.centos.org` 错误
kewen_123
linux运维服务器
VMwareCentos8突然上不了网,疑似是强制关机导致的#重启网络连接nmclinetworkingon#查看网卡ipnmclideviceshow
- YashanDB安装前准备
数据库
本文内容来自YashanDB官网,原文内容请见https://doc.yashandb.com/yashandb/23.3/zh/%E5%BF%AB%E9%80%9F%...本章节将介绍个人版单机形态YashanDB服务端安装部署所需的前期准备,安装前请根据本文所述内容进行相关配置。演示环境如下:操作系统CPU内存CentOSLinuxx86\_6432G服务器准备下表为个人开发环境最小配置,请根
- linux内核模块管理命令lsmod、insmod、rmmod、modinfo、modprobe、depmod
zbee
Linux命令linux服务器驱动开发c语言
文章目录前言一、Linux内核模块管理命令二、基本介绍2.1这些命令均是安装再“kmod”包中2.1CentOS中所有与内核模块相关的文件都存放在"/lib/modules/$(uname-r)/“下面(不管32位还是64位系统,都在/lib/...之下):三、命令介绍3.1lsmod查看内核已加载的模块3.2lsmodmodinfo:查看模块的基本信息3.3insmod:将指定模块加载到内核,建
- 自己搭建远程桌面服务器-RustDesk(小白版),借花献佛
嘻嘻哈哈学编程
2024年程序员学习服务器运维
如果想使用内网穿透,我建议使用花生壳、NAT123(早些年非常好用、现在弄得特别复杂)自己有服务器,穿透可使用RustDesk、frp本人目前使用为RustDesk、向日葵混合使用。4.准备内容①一个公网服务器(可装Centos7.6或Windows系统)建议使用Centos可以命令部署如果没有服务器,可自行到腾讯云、阿里云申请(一般都会有活动什么年终、双十一、双十二等等,价格不贵,便宜的100多
- rpm、yum、编译安装
zai.zai
linuxnginxcentos运维
1、软件包系统不同的Linux发行版用的是不同的软件包系统,并且原则上,适用于发行版的软件包与其他版本是不兼容的。多数Linux发行版采用不外乎两种软件包技术阵营软件包系统发行版本(部分)Debian类Debian、Ubuntu、Xandros、LinspireRedHat类Fedora、CentOS、RedHatEnterpriseLinux2、软件包工作方式软件包:软件包是包含应用程序及器元数
- linux服务器双网卡做bond-安装ifconfig
寻址00000001
安服学习以及实战演练linux网络运维ifconfig
环境:CentOSLinuxrelease7.6.1810(Core)yuminstallnet-tools安装ifconfig1目前有三张网卡分别是ens33\37\38,我们将ens3337绑定为bond02分别更改ens3337的配置文件cat/etc/sysconfig/network-scripts/ifcfg-ens33/37bond13down掉bond0中的一块网卡,看网络连通性。
- centos-stream9/7如何安装kubenetes1.28版本?如何添加集群节点与token过期如何重新生成?
终端行者
Kubernetescentoskubernetes
Kubernetes集群部署零、版本信息操作系统:CentosStream9、Centos7通过k8s版本:1.26.11.28.2本文档未使用docker,使用containerd从版本1.24开始已经去掉默认对docker的支持,需要使用go编译安装cri-dockerd,通信变得复杂,新版本不推荐使用docker运行时一、Kubernetes集群部署方式方式1.minikubeMinikub
- Linux 服务器多网卡进行网络绑定
Kubit~
服务器linux网络
要在配置了LACP(LinkAggregationControlProtocol)的交换机上设置Linux服务器的网络绑定,并包含DNS和网关的完整配置,你可以按照以下步骤进行操作。这里以CentOS/RHEL和Ubuntu/Debian为例。一、CentOS/RHEL配置示例确保bonding模块已加载sudomodprobebonding为了在系统启动时自动加载该模块,可以将其添加到/etc/
- centos搭建 Node.js 开发环境
geejkse_seff
面试学习路线阿里巴巴centosnode.jslinux
Node.js,通常简称为Node,是一个事件驱动I/O服务端JavaScript环境,基于ChromeV8引擎,具备速度快、性能强等特点,可用于搭建各类网络应用,及作为小程序后端服务环境。npm和npx都是和Node.js相关的命令行工具,它们在JavaScript开发中扮演着重要的角色。npm:1、允许开发者在项目中安装、管理和共享JavaScript包和模块;2、可以自动处理项目依赖,确保所
- 【C++】CentOS环境搭建-安装log4cplus日志组件包及报错解决方案
yyytucj
c++centos开发语言
在CentOS环境下搭建并使用log4cplus这一高效、灵活的日志记录组件,对于提升应用程序的日志管理能力至关重要。本指南将分步骤介绍如何安装log4cplus,并提供针对可能遇到的常见错误的解决方案,确保您能够顺利集成并应用这一强大工具。安装前准备首先,确保您的CentOS系统已更新至最新状态,这可以通过运行以下命令实现:sudoyumupdate-y接下来,安装必要的开发工具和库,包括GC
- CentOS 7上升级GCC
豆芽脚脚
centoslinux运维
在CentOS7上升级GCC(GNU编译器集合)可以通过以下步骤完成。默认情况下,CentOS7自带的GCC版本较旧(通常是4.8.5),如果需要使用更新的GCC版本,可以通过安装devtoolset或从源码编译来升级。方法一:使用devtoolset升级GCCdevtoolset是RedHat提供的一组工具集,包含较新的GCC版本。以下是升级步骤:安装devtoolset仓库:首先,确保系统已启
- vmware centos 10 stream boot 安装
zerozon
centoslinux运维
vmwarecentos-10streamboot安装1、vmware版本2、阿里云镜像下载地址3、自定义配置3.1windows查看硬件资源3.2更换阿里云软件安装源3.3环境选择3.4附加软件(MinimalInstall)4用户操作4.1新增用户4.2修改用户密码5dnf/yum更改成阿里云源1、vmware版本17.0.0build-208002742、阿里云镜像下载地址https://m
- vm和centos
啊喜拔牙
centoslinux运维
vm和centos安装VMwareWorkstationPro1.下载VMwareWorkstationPro访问VMware官方网站(https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html),在该页面中点击“立即下载”按钮,选择适合你操作系统版本的VMwareWorkstationPro
- Elasticsearch系列-安装部署
m0_67393039
javajava后端
Elasticsearch系列-安装部署准备安装错误准备1.服务器创建es用户useraddespasswdes2.elasticsearch部署环境JDK3.安装包可以去elastic官网下载相应版本文件。我这里安装版本的是7.12.0。Linux版本://centos下若没有安装curlyuminstallcurl//进入es用户目录执行下载curl-L-Ohttps://artifacts.
- 从入门到放弃之生产环境基于Kubernetes V1.21.10搭建高可用集群
收破烂的小白
dockerlinuxkubernetes
1.资源规划名称系统配置IP组件k8s-master01CentOS7.94核8G500G存储172.16.97.27kube-apiserverkube-controller-managerkube-scheduleretcdk8s-master02CentOS7.94核8G500G存储172.16.97.28kube-apiserverkube-controller-managerkube-s
- vm和centos
旋风小飞棍
centoslinux运维
vm和centos安装VMwareWorkstationPro1.下载VMwareWorkstationPro访问VMware官方网站(https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html),在该页面中点击“立即下载”按钮,选择适合你操作系统版本的VMwareWorkstationPro
- Centos中将UTC的时区改为CTS时区
xsh80144242
centoslinux运维
在CentOS系统中,要将系统时区从协调世界时(UTC)更改为所需的时区(可能是您提到的“CTS”,但通常我们指的是具体的时区名称,如中国标准时间CST或中国夏令时CDT,这里假设您意指中国标准时间,即Asia/Shanghai),您可以遵循以下步骤进行操作。请注意,Linux系统中普遍使用的是“IANA时区数据库”中的时区名称,其中“CST”并不直接对应于中国标准时间,而是应使用“Asia/Sh
- 怎样设置开机启动MySQL和取消
Lu01
TheSQLLabmysql数据库
1.设置MySQL开机自启动在Linux上:使用systemd(大多数现代Linux发行版如Ubuntu,CentOS7及更高版本):执行以下命令启用MySQL开机自启动:sudosystemctlenablemysql这将使MySQL在每次系统启动时自动启动。在MacOS上:系统设置-MySQL-StartMySQLwhenyourcomputerstartsup选项挑勾。在Windows上:打
- centos 7 安装python3 及pycharm远程连接方法
MindMaster User
日常记录centospycharmpython
安装openssl使用pip3安装virtualenv的时候会提示WARNING:pipisconfiguredwithlocationsthatrequireTLS/SSL,howeverthesslmoduleinPythonisnotavailable.这是因为缺少openssl2.0以上版本解决办法:一、先确认版本opensslversion二、安装依赖如果已有,这步可以忽略yuminst
- 下载CentOS 10
明明见自己
CentOS10centoslinux运维
1.进入官网:https://www.centos.org/2.点击右上角的Download进入下载页面。3.选择对应的CPU架构,点击ISOs下面的Mirrors开始下载。
- centOS 7.9 安装JDK MYSQL
he25819
centosjavamysql
jdk:JavaArchiveDownloads-JavaSE17.0.12andearlierCentOS安装JDK17教程(完整版)-秦胜飞-博客园sudoyumupdatewgethttps://download.oracle.com/java/17/archive/jdk-17.0.3.1_linux-x64_bin.rpmyuminstall./jdk-17.0.3.1_linux-x6
- 如何安装vm和centos
小白的白是白痴的白
centoslinux运维
一、安装VMware虚拟机1.**下载VMwareWorkstationPro**:-访问VMware官网,找到下载页面,选择适合您操作系统的版本进行下载。2.**安装VMwareWorkstationPro**:-打开下载好的安装包,点击“下一步”。-勾选“我接受许可协议中的条款”,继续点击“下一步”。-勾选“增强型键盘驱动程序”,并根据需要选择是否安装其他附加组件。-选择安装路径,建议选择非系
- Hadoop之jdk的安装
快来削我吖
云存储hadoopjdkcentos
【实验目的】1.安装配置JDK1.五台独立PC机或虚拟机主机之间有有效的网络连接2.每台主机内存2G以上,磁盘剩余空间500M以上所有主机上已安装CentOS7.4操作系统3.所有主机已完成网络属性配置1.卸载原有JDK该项的所有操作步骤需要使用root用户进行。并且在集群中每台主机操作一次,发现没有,不必卸载因为我的查看没有jdk,所以不需要卸载原有的,只需直接安装即可。2.安装此项的所有操作步
- 蓝易云 - 安装r语言在linux环境
蓝易云
r语言linux开发语言mysql数据库正则表达式运维
在Linux环境下安装R语言,可以按照以下步骤进行:打开终端。使用包管理工具(如yum、apt等)安装R语言。以下是在不同Linux发行版下的安装命令示例:对于CentOS或RedHat系统,使用以下命令:sudoyuminstallR对于Ubuntu或Debian系统,使用以下命令:sudoapt-getinstallr-base安装完成后,运行R命令以启动R语言交互式环境:R如果需要安装
- VMware 与 CentOS 安装指南
2401_84653595
centoslinux运维
一、安装前的准备硬件要求:确保你的计算机有足够的硬件资源。一般来说,至少需要2GB以上的内存,20GB以上的硬盘空间,以及支持虚拟化技术的CPU。软件准备:准备好VMwareWorkstation的安装程序,可以从VMware官方网站下载。同时,下载CentOS的ISO镜像文件,你可以在CentOS官方网站获取。二、VMware安装步骤运行安装程序:下载完成后,双击VMwareWorkstatio
- redis学习笔记——不仅仅是存取数据
Everyday都不同
returnSourceexpire/delincr/lpush数据库分区redis
最近项目中用到比较多redis,感觉之前对它一直局限于get/set数据的层面。其实作为一个强大的NoSql数据库产品,如果好好利用它,会带来很多意想不到的效果。(因为我搞java,所以就从jedis的角度来补充一点东西吧。PS:不一定全,只是个人理解,不喜勿喷)
1、关于JedisPool.returnSource(Jedis jeids)
这个方法是从red
- SQL性能优化-持续更新中。。。。。。
atongyeye
oraclesql
1 通过ROWID访问表--索引
你可以采用基于ROWID的访问方式情况,提高访问表的效率, , ROWID包含了表中记录的物理位置信息..ORACLE采用索引(INDEX)实现了数据和存放数据的物理位置(ROWID)之间的联系. 通常索引提供了快速访问ROWID的方法,因此那些基于索引列的查询就可以得到性能上的提高.
2 共享SQL语句--相同的sql放入缓存
3 选择最有效率的表
- [JAVA语言]JAVA虚拟机对底层硬件的操控还不完善
comsci
JAVA虚拟机
如果我们用汇编语言编写一个直接读写CPU寄存器的代码段,然后利用这个代码段去控制被操作系统屏蔽的硬件资源,这对于JVM虚拟机显然是不合法的,对操作系统来讲,这样也是不合法的,但是如果是一个工程项目的确需要这样做,合同已经签了,我们又不能够这样做,怎么办呢? 那么一个精通汇编语言的那种X客,是否在这个时候就会发生某种至关重要的作用呢?
&n
- lvs- real
男人50
LVS
#!/bin/bash
#
# Script to start LVS DR real server.
# description: LVS DR real server
#
#. /etc/rc.d/init.d/functions
VIP=10.10.6.252
host='/bin/hostname'
case "$1" in
sta
- 生成公钥和私钥
oloz
DSA安全加密
package com.msserver.core.util;
import java.security.KeyPair;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.SecureRandom;
public class SecurityUtil {
- UIView 中加入的cocos2d,背景透明
374016526
cocos2dglClearColor
要点是首先pixelFormat:kEAGLColorFormatRGBA8,必须有alpha层才能透明。然后view设置为透明glView.opaque = NO;[director setOpenGLView:glView];[self.viewController.view setBackgroundColor:[UIColor clearColor]];[self.viewControll
- mysql常用命令
香水浓
mysql
连接数据库
mysql -u troy -ptroy
备份表
mysqldump -u troy -ptroy mm_database mm_user_tbl > user.sql
恢复表(与恢复数据库命令相同)
mysql -u troy -ptroy mm_database < user.sql
备份数据库
mysqldump -u troy -ptroy
- 我的架构经验系列文章 - 后端架构 - 系统层面
agevs
JavaScriptjquerycsshtml5
系统层面:
高可用性
所谓高可用性也就是通过避免单独故障加上快速故障转移实现一旦某台物理服务器出现故障能实现故障快速恢复。一般来说,可以采用两种方式,如果可以做业务可以做负载均衡则通过负载均衡实现集群,然后针对每一台服务器进行监控,一旦发生故障则从集群中移除;如果业务只能有单点入口那么可以通过实现Standby机加上虚拟IP机制,实现Active机在出现故障之后虚拟IP转移到Standby的快速
- 利用ant进行远程tomcat部署
aijuans
tomcat
在javaEE项目中,需要将工程部署到远程服务器上,如果部署的频率比较高,手动部署的方式就比较麻烦,可以利用Ant工具实现快捷的部署。这篇博文详细介绍了ant配置的步骤(http://www.cnblogs.com/GloriousOnion/archive/2012/12/18/2822817.html),但是在tomcat7以上不适用,需要修改配置,具体如下:
1.配置tomcat的用户角色
- 获取复利总收入
baalwolf
获取
public static void main(String args[]){
int money=200;
int year=1;
double rate=0.1;
&
- eclipse.ini解释
BigBird2012
eclipse
大多数java开发者使用的都是eclipse,今天感兴趣去eclipse官网搜了一下eclipse.ini的配置,供大家参考,我会把关键的部分给大家用中文解释一下。还是推荐有问题不会直接搜谷歌,看官方文档,这样我们会知道问题的真面目是什么,对问题也有一个全面清晰的认识。
Overview
1、Eclipse.ini的作用
Eclipse startup is controlled by th
- AngularJS实现分页功能
bijian1013
JavaScriptAngularJS分页
对于大多数web应用来说显示项目列表是一种很常见的任务。通常情况下,我们的数据会比较多,无法很好地显示在单个页面中。在这种情况下,我们需要把数据以页的方式来展示,同时带有转到上一页和下一页的功能。既然在整个应用中这是一种很常见的需求,那么把这一功能抽象成一个通用的、可复用的分页(Paginator)服务是很有意义的。
&nbs
- [Maven学习笔记三]Maven archetype
bit1129
ArcheType
archetype的英文意思是原型,Maven archetype表示创建Maven模块的模版,比如创建web项目,创建Spring项目等等.
mvn archetype提供了一种命令行交互式创建Maven项目或者模块的方式,
mvn archetype
1.在LearnMaven-ch03目录下,执行命令mvn archetype:gener
- 【Java命令三】jps
bit1129
Java命令
jps很简单,用于显示当前运行的Java进程,也可以连接到远程服务器去查看
[hadoop@hadoop bin]$ jps -help
usage: jps [-help]
jps [-q] [-mlvV] [<hostid>]
Definitions:
<hostid>: <hostname>[:
- ZABBIX2.2 2.4 等各版本之间的兼容性
ronin47
zabbix更新很快,从2009年到现在已经更新多个版本,为了使用更多zabbix的新特性,随之而来的便是升级版本,zabbix版本兼容性是必须优先考虑的一点 客户端AGENT兼容
zabbix1.x到zabbix2.x的所有agent都兼容zabbix server2.4:如果你升级zabbix server,客户端是可以不做任何改变,除非你想使用agent的一些新特性。 Zabbix代理(p
- unity 3d还是cocos2dx哪个适合游戏?
brotherlamp
unity自学unity教程unity视频unity资料unity
unity 3d还是cocos2dx哪个适合游戏?
问:unity 3d还是cocos2dx哪个适合游戏?
答:首先目前来看unity视频教程因为是3d引擎,目前对2d支持并不完善,unity 3d 目前做2d普遍两种思路,一种是正交相机,3d画面2d视角,另一种是通过一些插件,动态创建mesh来绘制图形单元目前用的较多的是2d toolkit,ex2d,smooth moves,sm2,
- 百度笔试题:一个已经排序好的很大的数组,现在给它划分成m段,每段长度不定,段长最长为k,然后段内打乱顺序,请设计一个算法对其进行重新排序
bylijinnan
java算法面试百度招聘
import java.util.Arrays;
/**
* 最早是在陈利人老师的微博看到这道题:
* #面试题#An array with n elements which is K most sorted,就是每个element的初始位置和它最终的排序后的位置的距离不超过常数K
* 设计一个排序算法。It should be faster than O(n*lgn)。
- 获取checkbox复选框的值
chiangfai
checkbox
<title>CheckBox</title>
<script type = "text/javascript">
doGetVal: function doGetVal()
{
//var fruitName = document.getElementById("apple").value;//根据
- MySQLdb用户指南
chenchao051
mysqldb
原网页被墙,放这里备用。 MySQLdb User's Guide
Contents
Introduction
Installation
_mysql
MySQL C API translation
MySQL C API function mapping
Some _mysql examples
MySQLdb
- HIVE 窗口及分析函数
daizj
hive窗口函数分析函数
窗口函数应用场景:
(1)用于分区排序
(2)动态Group By
(3)Top N
(4)累计计算
(5)层次查询
一、分析函数
用于等级、百分点、n分片等。
函数 说明
RANK() &nbs
- PHP ZipArchive 实现压缩解压Zip文件
dcj3sjt126com
PHPzip
PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法就不说了,不同的平台开启PHP扩增的方法网上都有,如有疑问欢迎交流。这里整理一下常用的示例供参考。
一、解压缩zip文件 01 02 03 04 05 06 07 08 09 10 11
- 精彩英语贺词
dcj3sjt126com
英语
I'm always here
我会一直在这里支持你
&nb
- 基于Java注解的Spring的IoC功能
e200702084
javaspringbeanIOCOffice
- java模拟post请求
geeksun
java
一般API接收客户端(比如网页、APP或其他应用服务)的请求,但在测试时需要模拟来自外界的请求,经探索,使用HttpComponentshttpClient可模拟Post提交请求。 此处用HttpComponents的httpclient来完成使命。
import org.apache.http.HttpEntity ;
import org.apache.http.HttpRespon
- Swift语法之 ---- ?和!区别
hongtoushizi
?swift!
转载自: http://blog.sina.com.cn/s/blog_71715bf80102ux3v.html
Swift语言使用var定义变量,但和别的语言不同,Swift里不会自动给变量赋初始值,也就是说变量不会有默认值,所以要求使用变量之前必须要对其初始化。如果在使用变量之前不进行初始化就会报错:
var stringValue : String
//
- centos7安装jdk1.7
jisonami
jdkcentos
安装JDK1.7
步骤1、解压tar包在当前目录
[root@localhost usr]#tar -xzvf jdk-7u75-linux-x64.tar.gz
步骤2:配置环境变量
在etc/profile文件下添加
export JAVA_HOME=/usr/java/jdk1.7.0_75
export CLASSPATH=/usr/java/jdk1.7.0_75/lib
- 数据源架构模式之数据映射器
home198979
PHP架构数据映射器datamapper
前面分别介绍了数据源架构模式之表数据入口、数据源架构模式之行和数据入口数据源架构模式之活动记录,相较于这三种数据源架构模式,数据映射器显得更加“高大上”。
一、概念
数据映射器(Data Mapper):在保持对象和数据库(以及映射器本身)彼此独立的情况下,在二者之间移动数据的一个映射器层。概念永远都是抽象的,简单的说,数据映射器就是一个负责将数据映射到对象的类数据。
&nb
- 在Python中使用MYSQL
pda158
mysqlpython
缘由 近期在折腾一个小东西须要抓取网上的页面。然后进行解析。将结果放到
数据库中。 了解到
Python在这方面有优势,便选用之。 由于我有台
server上面安装有
mysql,自然使用之。在进行数据库的这个操作过程中遇到了不少问题,这里
记录一下,大家共勉。
python中mysql的调用
百度之后能够通过MySQLdb进行数据库操作。
- 单例模式
hxl1988_0311
java单例设计模式单件
package com.sosop.designpattern.singleton;
/*
* 单件模式:保证一个类必须只有一个实例,并提供全局的访问点
*
* 所以单例模式必须有私有的构造器,没有私有构造器根本不用谈单件
*
* 必须考虑到并发情况下创建了多个实例对象
* */
/**
* 虽然有锁,但是只在第一次创建对象的时候加锁,并发时不会存在效率
- 27种迹象显示你应该辞掉程序员的工作
vipshichg
工作
1、你仍然在等待老板在2010年答应的要提拔你的暗示。 2、你的上级近10年没有开发过任何代码。 3、老板假装懂你说的这些技术,但实际上他完全不知道你在说什么。 4、你干完的项目6个月后才部署到现场服务器上。 5、时不时的,老板在检查你刚刚完成的工作时,要求按新想法重新开发。 6、而最终这个软件只有12个用户。 7、时间全浪费在办公室政治中,而不是用在开发好的软件上。 8、部署前5分钟才开始测试。