自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

好好活着,因为我们会死很久...

biu biu biu~ boom! piu~ piu~

  • 博客(30)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 20条开发规范,写出诗一样的代码

文章目录简介命名1.命名的长度,多长合适2.利用上下文简化命名2.1 利用类class上下文简化命名2.2 利用函数function上下文简化命名3. 命名可读、可搜索3.1 命名可读3.2 命名可搜索方法命令-”关键字联想“命名接口和抽象类注释注释是不是越多越好?函数多大合适一行代码多长合适善用空行分割代码块四行缩进还是两行缩进大括号是否要另起一行类中成员的排列顺序代码分割成更小的代码块避免参数过多勿用函数参数来控制逻辑函数设计要职责单一移除过深嵌套层次学会使用解释性变量简介写出诗一样的代码,不要写出

2021-12-06 18:00:46 397

原创 程序员命名缩写

命名缩写address addr 地址 calendar cdr 日历application app 应用程序 messageDialog msgdlg 消息框asynchronization asyn 异步 drawer drw 抽屉average avg 平均数 buttonGroup btngrp 按钮分组bitmap bmp 位图 checkBox chk 复选框buffer buf 缓冲区 container cntr 容器character char 字符 butto

2021-11-30 16:39:47 764

原创 什么是继承,向上下转型,多态?

简介继承?向上下转型?多态?,都是什么鬼,其实三者是有联系的,终于理解清楚了什么是继承继承是用来表示类之间的 is-a 关系:狗是动物,电脑是机器继承的分类1.单继承2.多继承​ 一个子类可以继承多个父类,比如猫即使猫科动物,也是哺乳动物Java是支持单继承的继承解决了什么问题?假如两个类有一些相同的属性和方法,我们就可以将这些相同的部分,抽取到父类中,让两个子类继承父类。这样,两个子类就可以重用父类中的代码,避免代码重复写多遍1.减少重复代码2.从设计的角度来说,也有一种结构美感

2021-11-27 15:23:55 501

原创 什么是抽象?

封装是如何隐藏信息、保护数据抽象:抽象是隐藏方法的具体实现抽象到底是什么?抽象及其前面讲到的封装都是人类处理复杂性的有效手段。在面对复杂系统的时候,人脑能承受的信息复杂程度是有限的,所以我们必须忽略掉一些非关键性的实现细节。而抽象作为一种:只关注功能点不关注具体实现的设计思路,这样的好处:​正好帮我们的大脑过滤掉许多非必要的信息举例图片存储功能的Interface:package p2.code.obj.lab_05_02;import p2.code.obj.lab_05_02.mo

2021-11-25 19:43:30 129

原创 封装的魅力

简介以前创建一个model,全都设置为private 属性,然后都是无脑的getter和setter来获取和设置值,自从看了一篇文章后对封装有了新的了解封装的意义是什么1.信息隐藏2.类通过保留有限的访问接口,外部访问仅能通过类提供的方式(或函数)来访问内部信息或者数据通过访问权限控制,隐藏内部数据,外部仅能通过类提供的有限的接口访问、修改内部数据反例public class Wallet { private String id; private long createTime

2021-11-25 19:22:31 51

原创 git -- Question:fatal: refusing to merge unrelated histories

今天遇到个这个错误fatal: refusing to merge unrelated histories$ git pullfatal: refusing to merge unrelated histories解决方案:$git pull origin master --allow-unrelated-histories–allow-unrelated-histories:允许不关联histories,强制合并...

2021-07-16 17:00:13 56

原创 mysql 找到重复的数据

简介工作中测试反馈-页面上显示了两个相同的数据,于是叫我把两条相同的数据找出来。其实这就是当初表设计时,没对唯一字段(比如phone)添加 唯一约束 导致的坑,现在首先要把数据找出来,然后再填坑,在找出数据的时候又踩了一些坑,下面开始正式的填坑之路申明 以下所有数据和数据库表结构为自己模拟数据,并非公司真实数据找出相同的数据的SQLSELECT id,onlyid FROM (SELECT * FROM TEST_TABLE a WHERE a.onlyid in (select onlyi

2021-07-05 21:17:53 738

原创 linux 常用命令,持续更新中~

文章目录文件操作相关ls -- listpwd -- print working directorycd --change directorymkdir -- make directoriesrmdir -- remove directoriestouchrm -- removeecho>和>>命令<文件操作相关ls – listls – listls -l 可指定目录或文件 不指定就是列出当前目录下的文件信息ls -a 显示所有文件 包含隐藏文件ls -R 递归显示

2021-07-02 11:42:27 449

原创 x86实模式清屏玩具程序

介绍由于mac bochs在启动后会输出一堆不需要的字符,小手一抖写了一个玩具清屏程序代码 mov ax,0xb800 mov es ,ax ;附加段基地址 mov cx,2000 xor di,di ;偏移地址 jmp near clear clear: mov byte [es:di],0x20 ;设置文本模式内容 inc di mov byte [es:di],0x00 ;设置文本属性 in

2021-06-25 11:24:19 140

原创 MySQL配置test_db数据库

说明employees是mysql官方提供的测试数据库,具体介绍如下:The original data was created by Fusheng Wang and Carlo Zaniolo at Siemens Corporate Research. The data is in XML format. http://timecenter.cs.aau.dk/software.htmGiuseppe Maxia made the relational schema and Patrick Cr

2021-06-23 13:35:09 610

原创 x86汇编-01编写MBR,看完后用脚都能写出的教程

文章目录一. 编写MBR1 实模式下显示字符的基本工作原理1.1 图形模式 原理图形模式的问题1.2 文本模式 原理1.2.1 文本模式 为什么需要引入内存映射1.2.2 显存映射至内存的分布1.2.3 显卡加电自检后的文本模式1.2.4字符显示属性2. 代码 MBR Master Boot Record3.CPU的特性3.1 段寄存器赋值3.3 为什么需要声明byte?3.4 为什么需要申明[es:0x01]?3.5 为什么mov cx,cs mov ds,cx这里的含义是什么?3.6 为什么是mov

2021-06-18 23:38:24 1635

原创 nasm生成list和bin文件并进行分析

文章目录1.源代码2. 生成.lst文件和bin文件2.1 .lst文件分析2.2 汇编代码对应机器指令3.分析bin文件3.1 加载MBR流程1.源代码 ;代码清单5-1 ;文件名:c05_mbr.asm ;文件说明:硬盘主引导扇区代码 ;创建日期:2011-3-31 21:15 mov ax,0xb800 ;指向文本模式的显示缓冲区 mov

2021-06-18 17:26:55 1361 2

原创 编译基础-从hello.c到hello可执行文件的过程

文章目录编译的步骤一步一步编译指定编译到某个阶段gcc -E -S -cHelloWorld.i HelloWorld.s HelloWorld.o HelloWorld 每个文件中内容是什么?HelloWorld.i 预处理文件HelloWorld.s 汇编代码文件HelloWorld.o 不可执行二进制文件HelloWorld 可执行二进制文件可能会用到的gcc 指令 -g,-masmgcc -masm 指定汇编风格gcc -g 在可执行文件中加入调试信息反汇编工具 objdumpMacOS 对objd

2021-06-10 23:25:36 2998 5

原创 Java 时间 GMT UTC UNIX Timestamp 时区

文章目录时区格林威治标准时间(GMT)和UTCUNIX时间戳什么是北京时间?时间戳和时区有没有关系编码控制台输出时区指地球上的一块区域使用的同一时间定义,以经度划分,每个时区横跨15经度,总共24个时区,东西各12个时区。格林威治标准时间(GMT)和UTCGMT 地区:英国 皇家格林尼治天文台 时区:UTC/GMT 0 (零时区)UTC与格林威治平均时(GMT, Greenwich Mean Time)一样,都与英国伦敦的本地时相同,UTC与GMT基本上等同,误差不超过0.9秒UNIX时间戳指

2021-02-01 23:49:49 674

原创 Java Maven

文章目录什么是Maven?IDEA 配置Mavenmac下查找maven全局配置文件生成.m2文件夹maven 仓库远程仓库本地仓库仓库配置maven查找仓库优先级maven配置jdk信息maven 构建工程类型IDEA中使用mavenmaven项目目录结构target编译好的文件存在哪里?Maven项目依赖关系依赖关系IDEA 2020,没有自动导包的设置:依赖的传递性依赖的两个原则依赖范围继承关系聚合关系插件1.编译插件2.资源插件解决非resources文件夹下的xml文件无法被编译打包的问题tomc

2021-02-01 16:44:11 140

原创 Java IDEA基础

文章目录IDEA是什么?IDEA的功能范围IDEA的优势IDEA菜单栏View:IDEA的显示相关Module移除模块删除模块设置IDEA1.设置主题2.设置根据滚轮调节字体3.鼠标悬浮提示4.手动导包-> Alt+Enter5.自动导包6.合并导包类为*7.显示行号,显示方法与方法间分隔符8.忽略大小写9.多个类不隐藏,多个类在多行显示10.设置Font11.设置 注释 颜色12.设置“文档注释”信息13.设置项目文件编码格式14.进行自动编译15.省电模式16.代码展示17.导入项目jar包18.

2021-01-31 20:18:03 364

原创 Java 设计模式 接口 组合 委托

简介写了几年垃圾代码在设计模式上吃过亏,这次看到一篇文章,觉得讲的太好了,就和讲故事一样,逻辑思路很清晰,来来来 ,玩起来,躁动起来…看着讲了组合和委托,之前对这个概念不太清晰,现在好好梳理一下,主要研究组合和委托解决的是什么问题为什么少用继承?假设: Anmial->鸟类->老鹰,大鹏,凤凰常规认知的情况:鸟类都会飞,所以class Bird extend Animal{ protected void fly() }但有一个例外,鸵鸟也是鸟类,但它不会飞!class Ostr

2021-01-08 16:03:09 761 3

原创 Java 抽象类VS接口VS普通类

抽象类对比接口抽象类:is-a的关系, 如果确定是is-a的关系 ,就可以用抽象类.接口: has-a的关系,如果确定是has-a的关系 ,就可以用interface两者都具有多态的特性:父类能引用子类,父类能动态调用子类的方法,子类需要实现自己的方法interface的function和 protected abstract void 的function,都是需要子类重写的,然后父类引用子类,然后父类动态的调用方法,暴露给外部的是小范围的(公共的部分 父类有的)public class Abst

2021-01-07 21:35:15 78 1

原创 Mysql字符编码导致的错误:Illegal mix of collations (latin1_swedish_ci) and (utf8_general_ci)

简介今天在排查BUG的时候,dev环境和production环境代码一致,sql语句也没什么问题,查看日志发现出现了Mysql字符集的问题Error: ER_CANT_AGGREGATE_2COLLATIONS: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'like'查看Mysql字符集直接写一个shell脚本吧EOF简介我自己的理

2021-01-07 16:03:07 566

原创 Java 封装 抽象 继承 多态

简介最近看的书有点杂,看到GeekTime的《设计模式之美》,其中对封装的对我感触很深,花了一天时间研究了一下,方便后面回看,在这里记录一下,回想几年前无脑的getter() setter(),哈哈,真是感觉自己就是一个机器,没有灵魂印象比较深的一句话类或对象作为组织代码的基本单元,并将封装,抽象,继承,多态四个特性,作为代码设计和实现的基石封装封装的意义是什么1.信息隐藏2.类通过保留有限的访问接口,外部访问仅能通过类提供的方式(或函数)来访问内部信息或者数据import java.m

2021-01-06 22:55:27 171

原创 Odd-Java-2 Thread-我的线程交替执行了

简介*程序并不难,最主要的背后的思想。可能大学刚毕业的时候,那时候还不知道进程,线程的概念,后面才知道理论基础的重要性,哈哈,第一次遇到并发的时候,还以为我电脑坏了…当时还是觉得挺Odd(奇怪的)现象*代码package com.wuyuhong;public class MyThread extends Thread { @Override public void run() { //子线程 for (int i = 0; i < 20

2020-12-08 01:08:42 171 2

原创 Odd-Java-1 IDEA创建package,what?

案发今天在学习java的时候,随手就创建了一个package,然后悲剧发生了,我想移动A.java文件去我创建的包com.wuyuhong.instance.hello的时候,发现移动不了想想一想,是不是创建package的时候的package name不能用关键字干更改为其他非关键字的包名 ex:instanceofHello就可以了面壁思过1.不仅是类名,方法名,变量名,不能用关键字2.包名也不能使用关键字!3.什么是关键字?编译器内置的拿来识别what是what的… 不

2020-12-06 20:12:09 91

原创 服务器-网络带宽

简介为什么要了解服务器的网络带宽? ex:当目前服务器为接口服务器,查看所有接口中响应给客户端最大的数据量的接口的数据量大小,这样我们就可以对当前服务器的网络带宽 对接口服务器的网络负载做出初步评估 评估出来服务器的网络最大能承载多大的并发访问数上行带宽和下行带宽对于服务器而言,上行带宽是指每秒钟服务器传送给客户端的最大数据量,下行带宽则相反,服务器每秒钟能接收客户端的最大数据量 ...

2018-07-05 23:06:02 952

原创 服务器-IP 子网掩码 网关 DNS 梳理

IP子网掩码网关DNS

2018-05-30 01:52:55 2394 1

原创 linux开机自动执行.sh脚本

编写开机自动执行的脚本auto.sh#!/bin/sh#chkconfig: 2345 20 80#description:Server reboot.Execute auto.sh#client post port 80 redirect 9527#sudo iptables -A PREROUTING -t nat -i eth0 -p tcp —dport 80 -j RE...

2018-05-10 23:36:13 25210 6

原创 SSH公钥登录远程服务器

为什么会有公钥登录使用密码登录远程服务器,每次都必须输入密码 很麻烦什么是公钥登录使用linux生成一个公钥和私钥 公钥存储在远程服务器 私钥在客户端本地 1. 登录的时候,远程主机会向用户发送一段随机字符串. 2. 客户端接收到这一串随机字符串后,用自己的私钥加密后,再发送给远程服务器。 3. 远程服务器用储存的公钥进行解密客户端用私钥加密的字符串,如果解密成功 就说明客...

2018-05-10 22:09:34 540

原创 node运维-pm2实现linux重启后自启动node服务

简介利用pm2非常简单就可以实现 开机自启node服务的功能 目的是为解决服务器由于各种原因自动重启后 node服务没自动启动 导致无法工作的问题操作步骤使用pm2 start (启动服务)执行pm2 save (保存当前已经启动了的服务)执行pm2 startup (设置开机自启的配置) 执行pm2 startup以后会得到以下提示 设置环境变量[PM2] Init...

2018-05-10 16:17:31 6165

原创 深入分析nodejs事件轮询、浏览器内核引擎、v8引擎

简介起初我是用C#写服务端窗体应用的,所以对JavaScript几乎一窍不通,才开始就是这样的:起初JavaScript是否是单线程的,我并不在乎的,才开始我的状态是这样的: 路人甲: JavaScript是单线程的! Me: 哇哦!,原来他是单线程的,哦,然后呢? 路人已:JavaScript是事件轮询的! Me: 哦,知道了,然后呢?

2016-08-15 18:26:15 2818

原创 深入理解-字符编码ASCII,GB2312,GBK,Unicode,UTF-8

字符编码字符编码简介几个值的深思的问题字符编码种类ASCIIGB2321GBKUnicodeUTF-8一图解忧愁解决问题分析解决方案题外话-关于parseIntstring radix简介起初再考虑写不写这篇文章,感觉这篇文章比较枯燥乏味,而且自己感觉也没理解的太透彻,就把理解的记录下来,所以这是纪念版的前方高能,非战斗人员请迅速撤离,我要开始装逼了。 Go har

2016-08-06 20:30:32 20991 8

原创 学会markdown-开启写作旅程

CSDN-MarkDown模板我是头部目录用 [TOC]来生成目录:CSDN-MarkDown模板目录简介CSDN-MarkDown神秘功能锚点功能锚点功能HTML代码锚点功能MarkDown代码自定义颜色列表功能自定义颜色列表功能Html代码自定义颜色列表功能MarkDown代码Html标签在markdown环境下的效果Html标签在markdown环境下的效果代码改变区域

2016-07-21 15:34:47 8146 6

空空如也

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

TA关注的人

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