自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

学渣程序员的博客

一个学渣程序员的学习记录

  • 博客(26)
  • 资源 (6)
  • 收藏
  • 关注

原创 一场在循环中删除list中的元素引发的血案

起因最近接到一个需求(假的),从一个list中的member对象中,将年龄小于18岁的对象去掉。不然展示出去之后就要出问题。拿到需求后一顿操作,很快就写好了。逻辑也很清晰明了,大致代码如下:void removeMember(List<Member> list) { for (int i = 0; i < list.size(); i++) { if(list.get(i).getAge()<18){ list.remove(i)

2022-04-01 14:24:07 795

原创 CentOS7开启telnet服务端,配合进行ssh升级

默认情况下,linux’操作系统我们都是通过ssh进行远程操作,开启telnet一般是在升级ssh的时候需要,开启telnet是为了防止升级ssh之后,无法通过ssh登录系统,可用telnet登录。1.查找telnet安装包前置条件:服务器可访问互联网安装之前首先查找telnet的安装包[root@localhost ~]# yum list | grep telnet-servertelnet-server.x86_64 1:0.17-66.el7

2022-03-31 09:10:52 5455 1

原创 解决Elasticsearch集群开启账户密码安全配置自相矛盾的坑

一、采坑过程最近在配置elasticsearch生产可用的集群环境时,集群搭建完成后,为了安全,启用es集群的安全配置,根据官方文档Set up minimal security for Elasticsearch这一节来配置集群账户密码,然后就出现了开启安全模式后,./bin/elasticsearch-setup-passwords auto ,./bin/elasticsearch-setup-passwords interactive 两个命令均无法访问。提示集群健康状态无法检查,实际上就是集群本

2022-01-13 10:58:24 12572 4

原创 你还在用普通磁盘挂载模式吗,扩容太难,LVM也许更好使,centos7.8配置lvm并挂载

centos7.8配置lvm并挂载1 lvm是什么​ LVM(Logic Volume Manager)即逻辑卷管理器,是linux系统用户对硬盘分区管理的一种机制。创建初衷是为了解决硬盘设备在创建完分区后不易修改分区的问题,LVM技术是在硬盘分区和文件系统之间加了一个逻辑层,他提供了一个抽象的卷组,可以把多个硬盘进行卷组合并,这样一来,用户就不用担心物理硬盘设备的底层架构布局,可以轻松实现对硬盘分区的动态调整。简而言之就是动态添加、缩减空间,而不会影响原有数据。2 lvm原理及常用命令PV(Ph

2021-09-15 12:13:22 419

原创 一次mysql查询过慢的优化记录

在生产环境中有一个功能,加载数据超过了30秒,于是开始启动优化之路。优化过程大致为:数据同步到本地进行测试找出慢查询的语句查询语句在本地与服务器上分别执行进行对比分析慢查询的原因提出优化解决方案1 数据同步到本地进行测试第一步做的是将数据同步到本地进行测试,毕竟在生产环境中进行测试还是不可取的。本次数据库数据量有12G左右,使用mysqldump来进行数据备份,并通过ftp或者共享文件夹的方式下载到本地恢复。备份数据命令:#进入mysql安装目录bin目录下:mysqldump -

2021-07-02 15:58:38 127

原创 OpenSSH 安全漏洞(CVE-2021-28041)修复(升级OpenSSH至最新版本(8.6p1))

CVE-2021-28041漏洞描述:OpenSSH(OpenBSD Secure Shell)是Openbsd计划组的一套用于安全访问远程计算机的连接工具。该工具是SSH协议的开源实现,支持对所有的传输进行加密,可有效阻止窃听、连接劫持以及其他网络级的攻击。 OpenSSH before 8.5 存在安全漏洞,攻击者可利用该漏洞在遗留操作系统上不受约束的代理套接字访问。解决办法:升级OpenSSH至最新版本(8.6p1)1. 下载OpenSSH下载地址: https://openbsd.hk/

2021-06-04 16:26:20 21992 17

原创 # SSL/TLS协议信息泄露漏洞(CVE-2016-2183)处理采坑历程

第二个漏洞处理:CVE-2016-2183当时看升级openssl能够解决此问题,于是,开始升级openssl1. 下载新版本openssl查看当前openssl版本信息[root@localhost ~]# openssl version -aOpenSSL 1.0.2r 26 Feb 2019 #openssl版本信息built on: reproducible build, date unspecifiedplatform: linux-x86_64options: bn(64

2021-06-04 14:56:52 12394 5

原创 OpenSSH 命令注入漏洞(CVE-2020-15778)修复

OpenSSH 命令注入漏洞(CVE-2020-15778)修复最近安全部门丢了一堆服务器漏洞扫描结果过来,开发运维都得干的我火急火燎又开始去修补漏洞去了。1. 漏洞介绍​ OpenSSH(OpenBSD Secure Shell)是OpenBSD计划组的一套用于安全访问远程计算机的连接工具。该工具是SSH协议的开源实现,支持对所有的传输进行加密,可有效阻止窃听、连接劫持以及其他网络级的攻击。OpenSSH 8.6p1及之前版本中的scp的scp.c文件存在命令注入漏洞。该漏洞源于外部输入数据构造

2021-06-04 09:35:10 24534 18

原创 tomcat catalina.out日志切割处理方案

使用logrotate进行日志自动切割,简单配置即可实现自动切割tomcat、应用程序产生的日志。其中,我们普通java程序在linux中使用nohup指令执行后,所有的输出会追加到nohup.out这个文件中,如果不进行切割,此文件就会越来越大,查询日志就变得很困难。目前一般linux发行版都自动安装了logrotate工具,一般不需要自行安装。如果没有自带,可以使用yum等命令进行安装。配置流程在/etc/logrotate.d/目录下创建一个文件,如tomcat_catalina,写入以下内

2021-06-03 17:02:09 3027

原创 ELK单机版安装部署

ELK单机版安装部署环境:centos7elasticsearch安装版本:7.13.0下载地址:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.13.0-linux-x86_64.tar.gz添加用户及用户组groupadd elkuseradd elk -g elk -p elk@2021#root用户是不能直接启动elasticsearch的,需要新建用户,并且使用新建的用户启动es上传到

2021-06-03 16:53:01 1086 2

原创 记录一个打包可执行jar在log4j2控制台输出中文乱码的问题

问题描述:1、在idea中输出正常,无乱码2、打包可执行jar,在控制台中使用java命令运行,写入数据库存在中文乱码。3、执行jar时加入-Dfile.encoding=utf-8 即 java -Dfile.encoding=utf-8 -jar XXX.jar,数据库写入正常,控制台log日志中文乱码,system.out.println输出中文正常。解决思路:1、修改...

2020-03-04 22:55:31 1511 1

原创 JAVA Stomp客户端无法接收太大的数据的解决和挣扎

最近在使用stomp java客户端,使用的是spring-websocket包。连接服务端的方法如下:public ListenableFuture<StompSession> connect(String url, StompHeaders stompHeaders) throws InterruptedException, ExecutionException { st...

2019-05-28 10:00:20 4428 2

原创 暴力解决android studio中,所有项目都出现Default Activity not found问题

起因:最近在做android开发的时候,不知道把哪里的配置动到了,导致我所有的module都无法在模拟器上进行调试运行。统统出现了Default Activity not found问题。尝试过几种方法:1、在AndroidManifest.xml中,将MainActivity注册更改为类的全路径。标红部分为包的全路径。结果未解决我的问题。2、在edit configurations中...

2019-04-08 10:34:07 1735

原创 Android采坑记录-自动更新APK出现No Activity found to handle Intent{act=android.intent.action.View,dat=content:/

最近在做app自动更新,遇到了一些问题。在as的自带模拟器中运行没有问题,放到手机上就出现了问题。原本的安装apk的代码如下:protected void installApk(File file) { Uri uri = FileProvider.getUriForFile(context, "com.gzairports.xxbjkb.gza_fids.fi...

2019-04-02 17:00:38 19031 4

原创 java基础-手动实现ArrayList

        对于java开发者来说,大概用得最多的容器就是ArrayList了。所以掌握ArrayList的底层实现,还是比较重要的。一般面试的时候也是常见的问题。        废话不多说,直接上代码。注释也很详细。首先是定义一个List接口。这样我们后面可以实现ArrayList,也可以实现LinkedList。一、定义List接口package com.zwh.linert...

2018-12-28 10:58:29 735

原创 java学习笔记-设计模式之适配器模式

适配器模式主要用于将两个由于不兼容而不能在一起工作的两个类通过适配器可以一起工作,比如通过USB转VGA的转接头,使没有VGA接口的电脑可以通过USB接口,通过转接头转接连上投影仪。特别是在老系统升级中,此类使用会比较多。适配器模式主要包含三个角色:Target(目标类):目标类定义客户所需的接口,可以是一个抽象类或接口,也可以是具体类。 Adapter(适配器类):它可以调用另一个...

2018-11-28 23:49:48 120

原创 java学习笔记-设计模式之原型模式

昨天主要学习了建造者模式,今天学习的是创建型模式中的最后一个:原型模式。创建型模式,其实就是用来帮助我们创建对象的。无论是单例模式,工厂模式还是建造者模式,还有今天的原型模式。每一种模式都有自己的战场。原型模式就主要适用于:new初始化一个实例过程繁琐、访问控制导致创建实例比较耗时的时候,就可以考虑使用原型模式。通过原型模式,可以快速克隆一个全新的实例出来,并且克隆出的对象与原来的对象的值...

2018-11-27 23:50:57 150

原创 java学习笔记-设计模式之建造者模式

前情回顾在前几天学习了单例模式、简单工厂模式、工厂方法模式和抽象工厂模式之后,今天主要学习的是建造者模式。首先回顾一下工厂模式简单工厂模式:主要将实例的创建集中在一个工厂中。调用者只需要传入相应参数,即可创建出对应实例。对于普通开发者来说,简单工厂模式使用较多优点:工厂中处理了复杂的实例创建逻辑,调用者只需要传入参数即可。造福于调用者缺点:需要对实例创建进行扩展时需要修改工厂...

2018-11-26 22:49:57 192

原创 java学习笔记-设计模式之从工厂方法到抽象工厂模式

之前学习了工厂模式中的简单工厂模式及工厂方法模式。这两种模式对于产品的创建来说特别方便。本次要说的抽象工厂模式。抽象工厂模式相对简单工厂模式及工厂方法模式复杂了许多。本次以用户和部门作为例子,一步一步从工厂方法加深到抽象工厂模式。首先,将添加用户和删除用户接口中,因数据库连接可能是MySQL,也可能是Oracle或者其他。所以我们用MySQLUserOperation来实现User接口,代表从...

2018-11-24 23:42:50 100

原创 java学习笔记-设计模式之工厂方法模式

一、简介        在上一节的学习中,主要学习了简单工厂模式。简单工厂模式比较适合于提前能够考虑到大部分可能的情况,否则扩展时,就不太符合OCP原则。扩展时需要修改工厂类,但其实在一般项目中,简单工厂模式反而是使用比较多的。原因就在于工厂方法模式虽然符合OCP原则,扩展方便,扩展不需要修改工厂类,但会为每一种情况添加一个新类,最终导致产生出太多的类。二、实现工厂方法模式的实现过程如...

2018-11-24 19:11:43 168

原创 java学习笔记-设计模式之简单工厂模式

一、简介简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。工厂模式包括:简单工厂模式,工厂方法模式,抽象工厂模式。主要实现创建者和调用者的分离。核心本质:-实例化对象,用工厂方法代替new操作。-将选择实现类、创建对象统一管理和控制,从而将调用者跟...

2018-11-24 12:23:27 155

原创 java学习笔记-设计模式之五种单例模式实现效率测试

在前两天的学习中主要对单例模式完成了五种实现,并针对反射及反序列化漏洞进行防止,最后对五种实现模式的效率进行测试。五种最终实现单例模式代码如下:1、懒汉式实现单例模式:package com.zwh.gof23.singleton;import java.io.Serializable;/** * 懒汉式到单例模式(防序列化及反射漏洞) * @author zwh * ...

2018-11-24 10:01:17 231

原创 ajax进行异步请求,在方法内返回数据无效的问题解决

最近在学习的时候,使用ajax校验用户名是否重复,在前端使用ajax请求进行用户名重复的检查。在success执行的方法内是进行判断,并赋值true和false给定义好的变量flag。在使用alert打印flag的值时都为false。原本代码如下: //校验用户名是否重复 function validate_empName_repeat(){ var ...

2018-11-23 16:56:11 1934

原创 java学习笔记-设计模式之单例模式如何防止反射及反序列化漏洞

在前一篇文章中,对单例模式列举了五种实现方式。其中枚举模式拥有出生光环,天生就没有反射及反序列化漏洞。针对其他四种实现方式,在本篇文章中对懒汉式单例模式实现进行反射及反序列化漏洞测试。一、通过反射破解懒汉式单例模式重新创建测试类TestClientNew,通过反射获取到类,使用newInstance进行初始化。代码如下(详细看注释):package com.zwh.gof23.sin...

2018-11-22 21:28:26 886 1

原创 java学习笔记-设计模式之单例模式五种实现方式

一、简介单例模式的核心作用:保证一个类只有一个实例,并且提供一个访问该实例的全局访问点。常见案例:回收站优点:1、单例模式只生成一个实例,降低系统性能开销。2、方便资源共享常见单例模式:饿汉式:线程安全、效率高、不能延迟加载,当全程没使用到该实例时,浪费系统资源。懒汉式:线程安全(加锁)、调用效率相对饿汉式低,可以延迟加载。:双重检测锁式:由于jvm内部底层模型...

2018-11-21 22:04:45 174

原创 Visual SvnServer+TortoiseSvn+AnkhSVN安装设置流程笔记

之前有一段时间也用过这一套软件来做版本控制,但是一段时间之后没用,重新安装的时候又忘记了,所以特地做个记录,以后便不用再到处查找资料了。    废话不多说,进入正题。首先介绍一下三个软件:    Viusal SvnServer:首先这款软件是免费的,而其客户端VisualSVN是收费的,所以我们只选择了服务端,服务端包括了SubVersion、Apache和用户及权限管理,界面化操作,相

2016-08-09 10:49:09 751

[信管网]高项几个薄薄的打印资料

考高级项目管理师必备,亲测很实用,总结很到位,帮助我一次通过

2018-02-23

H3CNE培训教材(完整版)

H3C认证网络工程师培训教材,推荐学习网络并需要考H3CNE的学习

2018-02-23

操作系统模拟进程管理程序设计实验报告

操作系统实验,模拟进程调度,报告册中有C++代码

2011-12-29

操作系统-文件系统-课程设计报告--后附源代码

操作系统模拟文件系统课程设计,后附源代码,本文档为实验报告

2011-12-29

java设计简单计算器功能

用java的swing类设计简单的计算器。。

2011-11-24

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除