image frame

XXXZhy丶Blog

Hexo写博客浏览器卡顿崩溃无响应

标签未完善

我在复制下列图中文字到Markdown编译器时:

显示的是如下效果:

这时如果body加上了 <> 就会导致在网页中看不见,

看不见是小事情,在一些浏览器(我小米手机的自带浏览器)会出现崩溃无响应。

解决方法

1.去掉<>

2.如果想要强调body,两边加上双星号即可 ** ,效果:body

3.用 \ (转义符),即在 下划线和特殊符号的前面加上转移符,效果:< body>


以后用Markdown写要注意标签 “有必有” ,不能单独出现单个标签。

特殊符前加 : \ (转义符)

HTML基础(一)head、body、scrip

head

<!--声明文档格式 HTML5-->
<!DOCTYPE html>
<html>
    <!--头部标签,不显示,帮助浏览器解析网页-->
    <head>
        <!-- 设置网页编码格式 -->
        <meta charset="UTF-8">
        <!-- 设置网站的搜索关键字,方便搜索引擎搜索到该网站-->
        <meta name="keywords" content="html,css,js,java" />
        <!-- 设置该页面的简单描述-->
        <meta name="description" content="我这是一个学习网站,欢迎来交流" />
        <!-- 设置网站的作者-->
        <meta name="author" content="Zhy" />
        <title>网页标题</title>
        <!--定义 内部样式表,写CSS样式-->
        <style>
            h1{
                color: red;
            }
        </style>
        <!--
               引用外部样式表,固定写法
                ../返回上一层目录
                ./当前目录
           -->
        <link href="../css/index.css" type="text/css" rel="stylesheet" />
        <!--定义js内部脚本,最后加载,在Body之后-->
        <script>
            //文档加载事件
            window.onload=function(){
                alert("1111");
            }
        </script>
    </head>
    <!--内容显示标签-->
    <body>
        <h1>hallo HTML</h1>
    </body>
</html>
More

java-util-ConcurrentModificationException异常

fail-fast(快速失败)和fail-safe(安全失败)

快速失败(fail-fast)

在用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了修改(增加、删除、修改),则会抛出ConcurrentModificationException。

原理:迭代器在遍历时直接访问集合中的内容,并且在遍历过程中使用一个 modCount 变量。集合在被遍历期间如果内容发生变化,就会改变modCount的值。每当迭代器使用hashNext()/next()遍历下一个元素之前,都会检测modCount变量是否为expectedmodCount值,是的话就返回遍历;否则抛出异常,终止遍历。

注意:这里异常的抛出条件是检测到 modCount!=expectedmodCount 这个条件。如果集合发生变化时修改modCount值刚好又设置为了expectedmodCount值,则异常不会抛出。因此,不能依赖于这个异常是否抛出而进行并发操作的编程,这个异常只建议用于检测并发修改的bug。

场景:java.util包下的集合类都是快速失败的,不能在多线程下发生并发修改(迭代过程中被修改)。

安全失败(fail-safe)

采用安全失败机制的集合容器,在遍历时不是直接在集合内容上访问的,而是先复制原有集合内容,在拷贝的集合上进行遍历。

原理:由于迭代时是对原集合的拷贝进行遍历,所以在遍历过程中对原集合所作的修改并不能被迭代器检测到,所以不会触发ConcurrentModificationException。

缺点:基于拷贝内容的优点是避免了Concurrent Modification Exception,但同样地,迭代器并不能访问到修改后的内容,即:迭代器遍历的是开始遍历那一刻拿到的集合拷贝,在遍历期间原集合发生的修改迭代器是不知道的。

场景:java.util.concurrent包下的容器都是安全失败,可以在多线程下并发使用,并发修改。

More

JAVA命名

命名规范

1.项目名全部小写,就是如果项目名是多个英语单词组成的,每个单词都要全部小写。如:day01。

2.包名全部小写。

3.类名首字母大写(帕斯卡命名法),如果类名是多个单词拼成的,每个单词的首字母都要大写。如:JavaBean

4.变量名、方法名首字母小写(驼峰命名法),如果名称有多个单词组成,第二个及以后单词的首字母都要大写。如:userName、toString()

5.常量名全部大写
如:public static final int IMGAGE_ID=123;

框架包名

一、PO :(persistant object ),持久对象
二、VO :(value object) ,值对象
三、DAO :(Data Access Objects) ,数据访问对象接口
四、BO :(Business Object),业务对象层
五、POJO :(Plain Old Java Objects),简单的Java对象
六丶DTO :(Data Transfer Object),数据传输对象

More

Eclipse常用快捷键

// Ctrl+D :删除一行
// Alt+/ :提示
// Ctrl+1 :只写new的右边,生成变量名
// Alt+Shift+S :get()set()、toString()、构造方法
// Ctrl+Alt+↓或↑ :复制快捷键
// Alt+↓或↑ :移动代码
// Ctrl+Shift+T :搜索类
// Ctrl+O :显示本类所有方法
// Ctrl+Shift+O :添加包并删除多余包

Hexo插件音乐播放器Aplayer

安装hexo-tag-aplayer插件

在hexo-tag-aplayer的GitHub可以看帮助文档:https://github.com/MoePlayer/hexo-tag-aplayer/blob/master/docs/README-zh_cn.md

1.在自己Hexo目录下Git Bash Here输入:

npm install --save hexo-tag-aplayer

2.hexo-tag-aplayer 支持了MetingJS的使用,可以直接解析网络平台的歌曲( QQ音乐、网易云音乐、虾米、酷狗、百度等),首先要在Hexo的配置文件_config.yml中开启meting模式(注意不是主题themes下的__config.yml),加入到末尾:

aplayer:
  meting: true
More

Hexo new后自动打开编辑器

1.在Hexo目下的script目录下创建一个auto_open.js脚本(script目录没有自己新建)

2.编辑文本插入代码:

var spawn = require('child_process').exec;
hexo.on('new', function(data){
  spawn('start  "F:\Typora\Typora.exe" ' + data.path);
});

3.把 F:\Typora\Typora.exe 改成自己Markdown编辑器的路径

客官,赏一瓶怡宝吧。

支付宝
微信