<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[chmfy006的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/chmfy006</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; chmfy006]]></copyright><item><title><![CDATA[equals与==比较（源码分析）]]></title><link>https://blog.youkuaiyun.com/chmfy006/article/details/108393981</link><guid>https://blog.youkuaiyun.com/chmfy006/article/details/108393981</guid><author>chmfy006</author><pubDate>Thu, 03 Sep 2020 22:32:55 +0800</pubDate><description><![CDATA[==
简介
==是比较符号，它的作用是比较值是否相等。
对于八种基本数据类型，变量直接存储的是“值”，因此在用这个比较运算符来进行比较时，比较的就是 “值” 本身；
而对于非基本数据类型的变量，也就是引用类型的变量，它们存储的并不是 “值”本身，而是于其关联的对象在内存中的地址。比如
String a;

这句话声明了一个引用类型的变量，此时它并没有和任何对象关联。
a = new String("hello");

此时产生一个对象（也称作为类String的一个实例），并将这个对象和a进行绑定。那么a指向]]></description><category></category></item><item><title><![CDATA[15行Java代码搞定经典算法题——求众数]]></title><link>https://blog.youkuaiyun.com/chmfy006/article/details/108384813</link><guid>https://blog.youkuaiyun.com/chmfy006/article/details/108384813</guid><author>chmfy006</author><pubDate>Thu, 03 Sep 2020 17:22:06 +0800</pubDate><description><![CDATA[问题描述

]]></description><category></category></item><item><title><![CDATA[面向对象编程设计模式——总述]]></title><link>https://blog.youkuaiyun.com/chmfy006/article/details/108110046</link><guid>https://blog.youkuaiyun.com/chmfy006/article/details/108110046</guid><author>chmfy006</author><pubDate>Wed, 19 Aug 2020 20:34:56 +0800</pubDate><description><![CDATA[软件设计模式的产生背景
“设计模式”这个术语最初并不是出现在软件设计中，而是被用于建筑领域的设计中。
1977 年，美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫·亚历山大（Christopher Alexander）在他的著作《建筑模式语言：城镇、建筑、构造（A Pattern Language: Towns Building Construction）中描述了一些常见的建筑设计问题，并提出了 253 种关于对城镇、邻里、住宅、花园和房间等进行设计的基本模式。
1979 年他的另一部]]></description><category></category></item><item><title><![CDATA[面向对象编程设计模式——设计模式分类和原则]]></title><link>https://blog.youkuaiyun.com/chmfy006/article/details/107978477</link><guid>https://blog.youkuaiyun.com/chmfy006/article/details/107978477</guid><author>chmfy006</author><pubDate>Mon, 17 Aug 2020 20:48:14 +0800</pubDate><description><![CDATA[设计模式三大类别
设计模式有许多种不同的分类方法。根据目的来分类，即根据设计模式完成的工作来划分，主要客源分为三种，分别是创建型模式、结构性模式和行为型模式；如果根据作用范围来划分，即根据设计模式是用于类上还是对象上划分，那么可以分为类模式和对象模式两种。
我们平时说的比较多的是第一种分类，即分句设计模式的目的划分为三类。
&nbsp;
创建型模式
简介
创建型模式是处理对象创建的设计模式，它试图根据实际情况使用合适的方式创建对象。基本的对象创建过程可能会导致设计上的问题，或增加设计的复杂度。创建型模式通过]]></description><category></category></item><item><title><![CDATA[VSCode配置C语言环境]]></title><link>https://blog.youkuaiyun.com/chmfy006/article/details/107905127</link><guid>https://blog.youkuaiyun.com/chmfy006/article/details/107905127</guid><author>chmfy006</author><pubDate>Mon, 10 Aug 2020 10:36:05 +0800</pubDate><description><![CDATA[基本步骤
要在VSCode中配置C语言环境，我们首先可能要一个VSCode（废话），所以先下载安装一个VSCode；
然后肯定需要相关插件，因为VSCode不能直接拿来写C；
然后任何语言的程序在运行前都需要编译，那还需要一个编译器，很可惜VSCode插件里面不自带，所以要自己下载然后配置；
最后在VSCode中进行相关配置，就可以编写并运行C语言程序了。
&nbsp;
&nbsp;
下载并安装VSCode
步骤
安装相关插件
下载并安装完VSCode之后，接下来打开VSCode，在VSCode中安装相关插]]></description><category></category></item><item><title><![CDATA[Java实现四则运算算法（附带正负号识别和识错等）——错误判别（下）]]></title><link>https://blog.youkuaiyun.com/chmfy006/article/details/107848758</link><guid>https://blog.youkuaiyun.com/chmfy006/article/details/107848758</guid><author>chmfy006</author><pubDate>Thu, 06 Aug 2020 20:31:05 +0800</pubDate><description><![CDATA[当前程序
目录结构：

代码
FormulaException
package exception;

/**
 * 运算式异常类
 * @description 提供几个含有不同的运算式异常信息的异常对象
 * @author BlazingPhoenix
 *
 */
public class FormulaException extends Exception {

	//除零异常
	private static FormulaException divideByZeroException = new]]></description><category></category></item><item><title><![CDATA[Java实现四则运算算法（附带正负号识别和识错等）——错误判别（中）]]></title><link>https://blog.youkuaiyun.com/chmfy006/article/details/107847653</link><guid>https://blog.youkuaiyun.com/chmfy006/article/details/107847653</guid><author>chmfy006</author><pubDate>Thu, 06 Aug 2020 20:30:56 +0800</pubDate><description><![CDATA[除零异常、左右括号不匹配和定义域异常
基本思路
接下来就判断除零异常。除零异常非常简单，只要在运算前判断运算符是不是除号，如果是除号，除数是不是0就行了。
左右括号不匹配如果要严谨一些可能会比较麻烦，比较简单的方法是，如果左右括号不匹配，那么极有可能某个括号进栈后会被当做运算符出栈并参与运算。那么只要在运算前判断一下运算符是不是括号就行了，如果运算符是括号，说明一定出现了括号匹配问题。
定义域异常判断也很简单，在进行运算前，判断一下运算符，如果是次方或者幂运算，在根据情况判断一下参与运算的数字是不是在合适的]]></description><category></category></item><item><title><![CDATA[Java实现四则运算算法（附带正负号识别和识错等）——错误判别（上）]]></title><link>https://blog.youkuaiyun.com/chmfy006/article/details/107833455</link><guid>https://blog.youkuaiyun.com/chmfy006/article/details/107833455</guid><author>chmfy006</author><pubDate>Thu, 06 Aug 2020 19:08:10 +0800</pubDate><description><![CDATA[运算式错误判别
接下来要做的就是判断运算式是否正确，如果存在错误最好能够给出大致的错误类型。
&nbsp;
基本思路
错误类型整理
首先判断可能出现错误的地方（即大致有哪几种错误类型）

除零：最容易想到的，除法运算中除数为0
左右括号不匹配
定义域错误：暂时没有这个问题，因为之后可能要加入次方运算，就会对定义域有一定要求，比如不能对负数开方等
运算符左右两边只有一边有数字，或多个运算符连续
一个数字中存在多个小数点
不能识别的符号

大致就是这些问题，最后两个其实可以归于一条，即数字字符串内的内容无法被转]]></description><category></category></item><item><title><![CDATA[HTML标签——基础标签]]></title><link>https://blog.youkuaiyun.com/chmfy006/article/details/107751104</link><guid>https://blog.youkuaiyun.com/chmfy006/article/details/107751104</guid><author>chmfy006</author><pubDate>Tue, 04 Aug 2020 17:53:36 +0800</pubDate><description><![CDATA[基础标签




标签
描述




&lt;!DOCTYPE&gt;
定义文档类型（声明）


&lt;html&gt;
定义HTML文档


&lt;head&gt;
定义关于文档的信息


&lt;title&gt;
定义文档的标题


&lt;body&gt;
定义文旦的主题


&lt;h1&gt;、&lt;h2&gt;…&lt;h6&gt;
定义HTML标题


&lt;p&gt;
定义段落


&lt;br&gt;
定义简单的这行


&lt;hr&gt;
定义水平线


&lt;!–…--&]]></description><category></category></item><item><title><![CDATA[Java实现四则运算算法（附带正负号识别和识错等）——（二）]]></title><link>https://blog.youkuaiyun.com/chmfy006/article/details/107734940</link><guid>https://blog.youkuaiyun.com/chmfy006/article/details/107734940</guid><author>chmfy006</author><pubDate>Sat, 01 Aug 2020 18:36:08 +0800</pubDate><description><![CDATA[附加功能
附加功能主要包括小数点识别，正负号识别，识别算式错误能力这三个。

小数点识别：当一个数字一小数点开头，默认这个数字为0.开头；
正负号识别：当一个数字之前有连续的加减号，要求将其视为正负号，并能够通过加减号的数量判断数字的正负；
错误识别能力：如果输入的式子不是标准的四则运算式，出了上述两种情况外，均视为算式错误，要求程序能够识别错误的算式。

我们先来实现最简单的吧，小数点识别。
小数点识别
算法描述
这个非常容易实现，我们的数字都是暂时存在数字字符串中的，所以只要在数字存入字符串中对它处理即]]></description><category></category></item><item><title><![CDATA[VSCode下载及安装]]></title><link>https://blog.youkuaiyun.com/chmfy006/article/details/107729080</link><guid>https://blog.youkuaiyun.com/chmfy006/article/details/107729080</guid><author>chmfy006</author><pubDate>Sat, 01 Aug 2020 12:47:21 +0800</pubDate><description><![CDATA[VSCode官网
官网传送门
&nbsp;
&nbsp;
下载步骤

进入官网
无论下载什么开发工具首先都要先进入官网，然后找到下载页面。进入官网后会看到两个下载按钮，一个是download for Windows，另一个是download。点击download for Windows可以直接下载最新版的64位的rar文件。

选择下载
如果不希望下载最新版64位Windows操作系统的VSCode的rar文件，可以点击右上方的download，这里提供了各种操作系统的不同版本的文件，选择合适的进行下载。
]]></description><category></category></item><item><title><![CDATA[Intellij IDEA下载及安装]]></title><link>https://blog.youkuaiyun.com/chmfy006/article/details/107726680</link><guid>https://blog.youkuaiyun.com/chmfy006/article/details/107726680</guid><author>chmfy006</author><pubDate>Sat, 01 Aug 2020 11:47:18 +0800</pubDate><description><![CDATA[Intellij IDEA官网
官网传送门
&nbsp;
&nbsp;
下载及安装

首先进入官网，点击Download按钮进入下载页面（两个红框的Download按钮是一样的，随便点击一个进入即可）。由于这是国外网站，有时可能速度会非常慢，暂时没有找到这个网站的国内镜像，选择白天访问状况可能会好一些。

下载
下载界面的Download Intellij IDEA字样下，有可以选择操作系统的按钮，Windows、Mac、Linux。还有两个下载选项，左边的是最终版，用于企业和web开发，30天免费试用；右]]></description><category></category></item><item><title><![CDATA[Web前端——HTML5介绍]]></title><link>https://blog.youkuaiyun.com/chmfy006/article/details/107722748</link><guid>https://blog.youkuaiyun.com/chmfy006/article/details/107722748</guid><author>chmfy006</author><pubDate>Fri, 31 Jul 2020 22:54:08 +0800</pubDate><description><![CDATA[HTML5简介

定义：
HTML的全称是Hyper Text Markup Language，是一种用来描述网页的超文本标记语言。它与C、C++、Java等其他编程语言并不相通，它不是一种编程语言，而是一种标记语言。
新特性：
用于绘画的canvas标签；用于媒介回放的video和audio标签，可以用于播放视频和音频；对本地离线储存的支持；提供了如article、footer、header、nav、section等新的元素；提供了新的表单控件。
浏览器的支持
Safari、Chrome、Firefox和]]></description><category></category></item><item><title><![CDATA[Electron常用事件和输出乱码问题]]></title><link>https://blog.youkuaiyun.com/chmfy006/article/details/107690678</link><guid>https://blog.youkuaiyun.com/chmfy006/article/details/107690678</guid><author>chmfy006</author><pubDate>Fri, 31 Jul 2020 11:37:15 +0800</pubDate><description><![CDATA[开发文档
开发文档传送门
&nbsp;
app常用事件
app会发出的所有事件都能在传送门中的文档里查看：
app常用事件Api传送门
在事件发出时执行某个方法可以通过下方代码实现：
const { app } = require('electron')			//获取app
app.on('事件名', () =&gt; {
  //需要执行的方法
})


ready：当Electron完成初始化时被触发。
开始时打开一个窗口：

function createWindow () {
  // Create]]></description><category></category></item><item><title><![CDATA[Electron进程和调试方法]]></title><link>https://blog.youkuaiyun.com/chmfy006/article/details/107685661</link><guid>https://blog.youkuaiyun.com/chmfy006/article/details/107685661</guid><author>chmfy006</author><pubDate>Thu, 30 Jul 2020 11:48:04 +0800</pubDate><description><![CDATA[进程
Electron进程分为主进程和渲染进程


主进程：
electron运行package.json的main脚本的进程就是主进程。
主进程通过创建web页面展示用户界面，创建窗口等所有系统事件都在主进程中进行；
一个electron项目一定有且只有一个主进程。


渲染进程：
用户所能看到的web页面或者说窗口都是渲染进程，一个web页面就是一个渲染进程。
每个渲染进程都是独立的，只作用于自己运行的界面。


主进程和渲染进程的区别：
主进程可以创建页面（窗口），一般通过BrowserWindow创]]></description><category></category></item><item><title><![CDATA[Hello world程序结构]]></title><link>https://blog.youkuaiyun.com/chmfy006/article/details/107682013</link><guid>https://blog.youkuaiyun.com/chmfy006/article/details/107682013</guid><author>chmfy006</author><pubDate>Thu, 30 Jul 2020 10:54:05 +0800</pubDate><description><![CDATA[项目文件结构
项目文件结构可以直接打开文件夹查看，也可以通过编译器查看（推荐用Visual Studio Code）。用VSCode打开项目后看到项目文件结构如下：


node_modules：用于存放项目需要用到的依赖包等资源
.gitignore：暂时不清楚是什么
index.html：项目需要用到的一个html文件
LiCENSE.md：暂时不清楚
main.js：项目的主进程
package.json：项目配置文件，用来编写对项目的配置
其他主要就是一些js文件（渲染进程）。

程序
packag]]></description><category></category></item><item><title><![CDATA[Electron示例程序（Hello world）的下载和运行]]></title><link>https://blog.youkuaiyun.com/chmfy006/article/details/107672395</link><guid>https://blog.youkuaiyun.com/chmfy006/article/details/107672395</guid><author>chmfy006</author><pubDate>Wed, 29 Jul 2020 21:33:36 +0800</pubDate><description><![CDATA[操作步骤
electron官方提供了一个示例项目（Hello world程序）的GitHub地址，只需要克隆它的仓库即可获取示例项目，操作均在cmd.exe中执行，操作步骤在这个示例项目地址页面中有写出。
大致的意思是我们需要在电脑上安装Git和带有npm的Node.Js，并且用命令行去克隆和运行这个仓库，并且它在下面为我们给出了命令行。
示例项目地址：https://github.com/electron/electron-quick-start

&nbsp;
下载和配置Git
首先要下载Git，进入官]]></description><category></category></item><item><title><![CDATA[Electron简介及环境搭建]]></title><link>https://blog.youkuaiyun.com/chmfy006/article/details/107670315</link><guid>https://blog.youkuaiyun.com/chmfy006/article/details/107670315</guid><author>chmfy006</author><pubDate>Wed, 29 Jul 2020 17:34:04 +0800</pubDate><description><![CDATA[Electron官网
链接: https://electronjs.org/
&nbsp;
简介
定义
electron是由GitHub开发的，用HTML、CSS和JavaScript构建跨平台桌面应用的一个开源库。它通过将Chromium和Node.Js合并到同一个运行时环境中，并将其打包为Mac、Windows和Linux系统下的应用来实现这一目的。
特点

简单易上手：只要会前端的知识即可开发桌面应用
跨平台：一套app在Mac、Linux、Windows上都可以运行
自动更新：代码本质上是前端网页代]]></description><category></category></item><item><title><![CDATA[NodeJs环境安装及镜像配置]]></title><link>https://blog.youkuaiyun.com/chmfy006/article/details/107635522</link><guid>https://blog.youkuaiyun.com/chmfy006/article/details/107635522</guid><author>chmfy006</author><pubDate>Tue, 28 Jul 2020 17:00:23 +0800</pubDate><description><![CDATA[Node官网网址
链接: https://nodejs.org/en/
安装步骤
确认计算机中是否已经存在node
ctrl + R快捷键，输入cmd打开cmd.exe，在cmd.exe中输入命令行（node --version），查看计算机中node的版本号。如果存在node，会输出一个版本号。

①去官网下载最新版node
点击上方连接进入官网，可以看到有两个版本。一个是LTS版，即long time support（长期支持板），另一个是current版，即最新特性版，学习时推荐使用最新特性版。也可以]]></description><category></category></item><item><title><![CDATA[SSM框架搭建——基础环境搭建（上）（复习）]]></title><link>https://blog.youkuaiyun.com/chmfy006/article/details/107180189</link><guid>https://blog.youkuaiyun.com/chmfy006/article/details/107180189</guid><author>chmfy006</author><pubDate>Sun, 19 Jul 2020 22:24:43 +0800</pubDate><description><![CDATA[1

]]></description><category></category></item></channel></rss>