李智‘Blog

读了一些书,看了一些文章,编过一些小例程,搞了一些没有什么技术含量的开发工作。


  • 首页

  • 关于

  • 归档

  • 朋友圈

  • 公益404

  • 搜索

单向链表逆序输出

发表于 2019-12-25 | 分类于 Java二三事
字数统计: 117 | 阅读时长 ≈ 1分钟
实现链表逆序输出
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
class Solution<T> {

public void reverse(ListNode<T> head) {
if (head == null || head.next == null) {
return ;
}
ListNode<T> currentNode = head;
Stack<ListNode<T>> stack = new Stack<>();
while (currentNode != null) {
stack.push(currentNode);
ListNode<T> tempNode = currentNode.next;
// 断开连接
currentNode.next = null;
currentNode = tempNode;
}

head = stack.pop();
currentNode = head;

while (!stack.isEmpty()) {
currentNode.next = stack.pop();
currentNode = currentNode.next;
}
}
}

class ListNode<T>{
T val;
public ListNode(T val) {
this.val = val;
}
ListNode<T> next;
}

Github建立分支备份Hexo

发表于 2019-01-12 | 分类于 杂七杂八
字数统计: 860 | 阅读时长 ≈ 3分钟

前言

由于之前忘记备份Hexo博客的markdown文件,在重做系统时候还忘记备份博客了,导致现在不得不重新从网页上扒下来之前的文章重新写一遍,十分耗费精力。因此在网上找了下如何备份Hexo博客,在此记录下。

备份博客

先将本地Hexo博客已经初始化

创建新分支

在Github.io上建立博客时已经开了一个新仓库了,如果再开另一个仓库存放源代码有点浪费,因此采用建立新分支的方法备份博客。

虽然理论上什么时候创建新分支来备份都可以,但是还是建议在建立博客的时候就创建备份分支。(然而我中途才想起来-.-)

不过在建立新分支前请确保仓库内已有master分支(Hexo本地建站后第一次上传时会自动生成),否则后期再添加master分支比较麻烦(请自行搜索git命令)。

本地Git建立新分支命令如下:

1
$ git checkout -b BRANCHNAME

BRANCHNAME是自定义的新分支的名字,建议起为hexo。

阅读全文 »

Java解析类Xml格式文件

发表于 2018-04-30 | 分类于 Java二三事
字数统计: 138 | 阅读时长 ≈ 1分钟

解析上游发来的类XML格式数据,直接使用Document document = reader.read(path);会失败,因为不包含<root></root>,所以这里需要自己手动拼接一下,方便解析,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
private static Element getRoot(String path) throws Exception {
SAXReader saxReader = new SAXReader();
InputStream is = new FileInputStream(path);
//因为数据格式不是标准的xml,手动拼接一下方便解析
Enumeration<InputStream> streams = Collections.enumeration(
Arrays.asList(new InputStream[]{
new ByteArrayInputStream("<root>".getBytes()),
is,
new ByteArrayInputStream("</root>".getBytes()),
}));
SequenceInputStream seqStream = new SequenceInputStream(streams);
Document document = saxReader.read(seqStream);
return document.getRootElement();
}

Java并发之原子性、有序性、可见性

发表于 2018-03-18 | 分类于 Java二三事
字数统计: 1,169 | 阅读时长 ≈ 4分钟
原子性

原子性指的是一个或者多个操作在 CPU 执行的过程中不被中断的特性

线程切换 带来的原子性问题

Java 并发程序都是基于多线程的,操作系统为了充分利用CPU的资源,将CPU分成若干个时间片,在多线程环境下,线程会被操作系统调度进行任务切换。

阅读全文 »

项目托管至Github

发表于 2018-01-02 | 分类于 项目管理
字数统计: 629 | 阅读时长 ≈ 3分钟

本地新建项目后,如何同步到 github 上呢?

  1. 在GitHub上新建项目
  2. 进入本地项目目录,依次执行

git init
git add .
git commit -m “备注”
git remote add origin 仓库地址
git push -u origin master

阅读全文 »

系统学习Spring(三)——Bean的高级装配

发表于 2017-05-15 | 分类于 Java二三事
字数统计: 8,446 | 阅读时长 ≈ 35分钟

在软件开发中,常常设置不同的运行环境:开发环境、预发环境、性能测试环境和生产环境等等。

不同的环境下,应用程序的配置项也不同,例如数据库配置、远程服务地址等。

阅读全文 »

系统学习Spring(二)——装配Bean

发表于 2017-05-10 | 分类于 Java二三事
字数统计: 3,374 | 阅读时长 ≈ 14分钟

任何一个成功的应用都是由多个为了实现某个业务目标而相互协作的组件构成的,这些组件必须相互了解、能够相互协作完成工作。

阅读全文 »

系统学习Spring(一)

发表于 2017-05-09 | 分类于 Java二三事
字数统计: 3,098 | 阅读时长 ≈ 12分钟

对于Java开发者来说,这是一个好的时代。

阅读全文 »

userId分库,怎么通过其他字段查询

发表于 2017-04-18 | 分类于 数据库那点事
字数统计: 815 | 阅读时长 ≈ 3分钟

用户中心是几乎每一个公司必备的基础服务,用户注册、登录、信息查询与修改都离不开用户中心。

当数据量越来越大时,需要多用户中心进行水平切分。最常见的水平切分方式,按照userId取模分库:

阅读全文 »

Java基于zxing生成二维码demo

发表于 2017-03-23 | 分类于 Java二三事
字数统计: 446 | 阅读时长 ≈ 2分钟

QR码属于矩阵式二维码中的一个种类,由DENSO(日本电装)公司开发,由JIS和ISO将其标准化。QR码的样子其实在很多场合已经能够被看到了,我这还是贴个图展示一下:


阅读全文 »

1…456…9
李智

李智

86 日志
13 分类
57 标签
GitHub E-Mail
© 2015 — 2024 李智
由 Hexo 强力驱动
|
主题 — NexT.Mist v5.1.4
博客全站共150.3k字   本站总访问量    您是第个来到的小伙伴