linux2
linux
一些常用指令 基本要领 技巧
概述正常一个流程 应该有这个 想看就上这里看吧 :概述及环境搭建
文件目录以下是对这些目录的解释:
/bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。
/boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
/dev : dev是Device(设备)的缩写, 存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
/etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。
/lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备 ...
linux1
常用的基本命令
基于CentOS7
常用的基本命令
目录管理
绝对路径和相对路径
我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 /。
其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们。
在开始本教程前我们需要先知道什么是绝对路径与相对路径。
绝对路径:
路径的写法,由根目录 / 写起,例如:/usr/share/doc 这个目录。
相对路径:
路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成:cd ../man 这就是相对路径的写法啦!
处理目录的常用命令
接下来我们就来看几个常见的处理目录的命令吧:
ls: 列出目录
cd:切换目录
pwd:显示目前的目录
mkdir:创建一个新的目录
rmdir:删除一个空的目录
cp: 复制文件或目录
rm: 移除文件或目录
mv: 移动文件与目录,或修改文件与目录的名称
你可以使用 man [命令] 来查 ...
服务器停服维护,回档,反外挂
一. 服务器停服维护
QA测试完成后会打出服务器更新维护的整包放到这里,同时会通知包名
下载更新包到本地,然后上传到指定的ftp目录
将更新包的信息同步给运维和运营的同学
到更新的时间点后运营同学会切换服务器状态到维护,运维同学负责停服,更新,启服等具体操作,不出意外的话是不需要程序这边做任何操作的。
服务器更新重启之后QA同学会过一遍基本功能,程序这边就看下日志是否有异常或者报错,主要关注1001和6001服,QA主要测试这两个服。QA测试通过了,服务器也没有异常和错误就可以开服对外了(一般由QA在大群里对运营同学说,运营将服务器状态切换为正常)
==注意事项:==
每次更新服务器启动之后,需要将服务器的自动封禁关闭,避免程序bug导致误封。在游戏对外跑一个小时之后如果没有战斗校验的bug可以开启自动封禁。在关闭期间需要值班同学关注企业微信的MT-外挂监控告警群,手动对外挂玩家进行封禁,具体细节参照反外挂文档。
因为1001服目前人数较多,配置和其他服不一样,1001服的战斗校验线程数量需要单独手动修改(运维操作),所以维护时需 ...
OOP编程(面向对象)基础
OOP编程(面向对象)基础类与实例
OOP: Object-Oriented Programming
对象: 对象是一个自包含的实体,用一组可识别的特性和行为来标识
类: 类就是具有相同属性和功能的对象的抽象集合
实例: 一个真实的对象(实例化就是创建对象的过程)
类A name; // 声明一个 类A的对象 叫name
name = new 类A(); // 将name对象实例化
构造方法/方法重载
构造方法—构造函数,就是对类进行初始化. 在被new时调用
所有类都有个默认无参数构造方法,,如果你定义了构造方法,则默认的失效
方法重载提供了创建同名的多个方法的能力, 需要参数类型,参数个数不同
封装,继承和多态
封装: 每个对象都包含它能进行操作所需要的所有信息, 这就是封装, 所以对象不必依赖其他对象来完成自己的操作,好处:
良好的封装能降低耦合
类内部的实现可以自由修改
类有清晰的对外接口
继承: 面向对象中 is - a 的关系,可以说为是一个 的关系 . (猫类继承动物类—猫是动物 ...
线程
线程Thread[toc]
Thread隶属于java.lang包下的类 ,java语言的JVM允许程序运行多个线程
Thread:每个线程通过特定Thread对象的run()方法来完成操作,经常把
程序,线程和进程
**程序(Program):**为了完成特定任务, 用某种语言编写的一组指令集合. 即一段静态代码,静态对象
**进程(process):**是指程序的一次执行过程, 或是正在运行的一个程序. 动态过程: 有它自身的产生, 存在和消亡的过程.
如: 运行中的软件qq 浏览器等
程序是静态的,运行的进程是动态的
**线程(Thread):**进程细化一些为线程,是一个程序内部的一条执行路径
当热程序在同一时间可以有多个执行路径, 也就是支持多线程
基本概念
java中线程分为:守护线程(daemon)和用户线程
虚拟机必须保证用户线程执行完毕,守护线程不需要等待: 如后台记录日志,内存监控,gc垃圾回收等
守护线程设置: thread.setDemon(true为守护线程)
12345671.线程就是独立执行的路径2.在程序运行时,即使没有创建线程 ...
简单的工厂模式
简单的工厂模式 - 大话设计模式*每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。*
先了解面向对象设计
当你需要实例化哪个类,或者未来会不会增加实例化对象,所以考虑用一个单独的类来做这个创造实例化的过程–工厂
耦合度降低 每个实例是相对独立的 做到了容易维护,扩展和复用
例子:
简单的工厂模式
1.PO类
java
123456789101112131415161718192021222324252627package com.sjs.SimpleFactory;public class Operation { double numberA; double numberB; public double getNumberA() { return numberA; } public void setNumberA(double numberA) { this.numberA = numberA; } public double ...
redis
Redis概述
redis 介绍
Redis(Remote Dictionary Server ),即远程字典服务。是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。[百度百科]
官网介绍
Redis是一个开源(BSD许可),内存数据结构存储,用作数据库,缓存和消息代理。 Redis提供数据结构,例如字符串,哈希列表,集合,排序集,带有范围查询,位图,超级目录,地理空间索引和流。 Redis拥有内置复制,Lua Scripting,LRU驱逐,事务和不同级别的磁盘持久性,并通过Redis Sentinel和Redis Cluster自动分区提供高可用性
redis 用途
内存存储,持久化,持久化机制(rdb,aof)
高效,用于高速缓存
发布订阅系统
地图信息分析
计量器,计数器
。。。
redisredis 默认16个db 使用第0个
端口6379 是因为作者的偶像的9键名字。
redis 是单线程的
redis是很快的,官方介绍,Redis基于内存操作,CPU不是Redis的性能瓶颈 ...
我的hexo博客搭建配置更改
从0开始搭建hexo博客(win10)基本安装
安装node.js Node.js官网下载地址
安装git git官方下载地址
在git/gitee 新建库并且以你的名字命名 git:yourName.github.io gitee:yourName
安装hexo$ npm install -g hexo-cli win会有警告 忽略就好
新建: (找到你的文件夹)执行 hexo init $ cd $ npm install
配置:
可以参考 这里
12345建议配置:**url**: https://gitee.com/xxx/xxx.git 你的博客访问地址**per_page**:改为6的倍数 6,12,18 **# Site** 此处 有更多关于首页配置**title**: 博客名字
hexo的目录配置
markdown
1234567891011121314|-- demo//项目跟目录名|-- .gitignore//git时忽略的文件或目录|-- package-lock.json|-- package.json//应用程序的信息|-- _config. ...
每日一题-76.最小覆盖子串
leetcode每日一题:76.最小覆盖子串76.最小覆盖子串
img
代码和注释:
java
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950@Test public void mainTest() { System.out.println(minWindow("ADOBECODEBANC", "ABC")); } // 滑动窗口 public String minWindow(String s, String t) { if (s.length() == 0 || t.length() == 0) return ""; int left = 0;// 左右指针 int right = 0; // 存储s和t出现次数 int[] snum = new int[128]; ...
代理模式
代理模式 - 大话设计模式*每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。*
啊哈^ =.= :expressionless:
代理模式(Proxy)基本概念
为其他对象提供一种代理 以控制对这个对象的访问(DP).
角色:
抽象角色: 用接口或者抽象类来实现(真实对象和代理对象的共同方法)
真实角色: 被代理的角色
代理角色: 代理真是角色 当然可以扩展其他业务
客户端: 具体操作 通过代理类访问代理对象
好处
可以使真实角色的业务更纯粹! 其他的公共业务和扩展业务不用考虑
实现了业务的分工 – 公共业务交给代理类
公共业务发生扩展时, 方便管理 (解耦)
静态代理缺点显然很明显: 代理只能服务一个类, 要是想代理很多类就要构建多个代理类
代理模式实现
代码部分
java
1234567891011121314151617181920212223242526272829303132333435363738 /* 公用接口类 */public abstract class Subject ...