- 博客(54)
- 收藏
- 关注
原创 SpringBoot入门
一、入门1、编写基本的SpringBoot项目1、创建maven工程2、导入依赖3、编写主程序/** * 表明这是一个SpringBoot的主程序类 */@SpringBootApplicationpublic class MainApplication { public static void main(String[] args) { // Spring应用启动起来 SpringApplication.run(MainApplication.cl
2021-08-12 14:45:19
178
原创 List的线程安全
List的线程安全背景实验1. ArrayList2. synchronizedList3. 运行抛出异常ArrayIndexOutOfBoundsException异常原因背景Q:今天遇到一个场景,我们业务需要使用批量的数据进行操作,但是别人的接口只支持一个一个的查,所以需要用多线程去查结果值组装成一个list再进行后期的业务逻辑实现。实验用哪个list呢?写了一个小demo1. ArrayList测试使用我们平常经常用的ArrayList进行测试public class SetThre
2020-11-09 21:15:31
2889
原创 编写代码的原则
编写代码的原则组件原则:组件内的关系(组内聚合)组件间的关系(组件耦合)组件聚合方面的原则有以下几个:REP:复用/发布等同原则CCP:共同闭包原则CRP:共同复用原则组件耦合方面的原则有以下几个:ADP:无依赖环原则SDP:稳定依赖原则SAP:稳定抽象原则水平分层表现层 – Controller和VO业务逻辑层 – Service,Manager数据层 – Mapper、DO垂直分层解耦方式源码层次部署层级服务层次...
2020-07-16 15:06:45
352
原创 消息队列
文章目录1、消息队列产品介绍2、RocketMQ3、分布式事务4、消息丢失5、重复消息处理6、消息积压1、网络通信、序列化与反序列化、分布式事务、内存管理1、消息队列产品介绍产品优势不足RabbitMQ(Erlang编写)(使用的是队列消息模型)1、支持的语言多;2、路由配置灵活(生产者和对列之间的模块)1、消息堆积处理不好;2、性能很差。几万~十几万消息/s...
2019-09-18 19:19:13
328
原创 线程
(https://img-blog.csdn.net/20180514231107394?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N1bnNoaW5lX19tZQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
2018-05-14 23:11:41
242
原创 这是一篇除草文
这是一篇除草文 每次的读书计划,总是在每天的忙碌之后被推到不知未来的某一天才能翻开目录, 然后在顿悟的某一天又开始焦虑怎么还没开始。1、 懒惰 2、没有合理安排时间 3、限定产出,倒逼输出Lazy 周末的时间利用不足,经常荒废一天,什么都不想干,最后在忏悔和立志明天中度过一个夜晚。 怎么办?周末列时间表!!! 周内呢?周内应该利用什么时间学习呢?学习的体系又是什
2018-02-01 10:54:19
411
1
原创 MySQL时间类型和long类型的转换
MySQL中可以将时间类型保存为long类型数据: UNIX时间戳转换为日期用函数: FROM_UNIXTIME() select FROM_UNIXTIME(1156219870); 日期转换为UNIX时间戳用函数: UNIX_TIMESTAMP() Select UNIX_TIMESTAMP(’2011-12-07 12:23:00′);
2017-03-03 12:22:59
20165
原创 Java中List的remove方法
今天被问到一个问题: NumberList是一个存储数字的容器,以下代码执行后容器中的数字是什么? List<Integer> numberlist = new ArrayList<Integer>(5);numberlist.add(2);numberlist.add(4);numberlist.add(1);numberlist.add(3);numberlist.add(
2016-09-10 17:07:46
25482
3
原创 生产者消费者问题
问题描述: 生产者:爸爸、妈妈 消费者:child1、child2、child3 临界资源:盘子里面放的苹果,最多放10个苹果代码展示:苹果类:package com.niuke.proccon;/** * Created by panlu on 16-9-8. */public class Apple { private int appleID = 0;
2016-09-10 12:08:23
528
原创 统计文件中数据出现的次数并排序
文件中保存的是好多行采集的数据,统计出现次数最多的前n个数据。sort排序后相同的数据会连续出现此时再使用uniq进行去重,-c的含义是添加一行出现次数的数据。awk '{print $1}' data_file | sort | uniq -c | sort -r -k1 > data_sort文件里的数据: 执行命令后:
2016-09-04 20:34:09
4534
原创 根据文件的某一列的值满足条件,取出一行的内容
今天遇到的一个问题:线上出错的小库号已知需要定位到具体的流,这些流里面的所有小库数据都需要进行重跑:类似于这样的文件,有三列数据,根据第一列的值,抽取出第三列range信息cat fileA | awk '{FS=" "}{if ($1=='19618'){print $3}}' >> new_file若是查找一行则这样,查找多行呢?就在外面加一个while循环,需要查找的数据保存在一个文件B里面,
2016-09-04 17:34:53
13307
1
原创 shell的GoodCoder的编写
runit是一个应用(application)启动管理工具。通过Procfile文件启动相应的进程。1 试题描述1.1 ProcfileProcfile 包含进程名字和启动进程的命令,用:分隔。如:web: python -m SimpleHTTPServer $PORTdate: date $DATE_FORMATweb_2: while true ; do nc -l $PORT < ind
2016-08-18 20:54:47
2826
原创 mkdir -p的含义
mkdir:创建目录。mkdir + dirname 参数-p: 创建mydir目录以及mydir目录下面的dir_test文件。允许创建目录及子目录-m:创建指定权限的目录
2016-08-03 11:53:20
56057
原创 shell基础知识学习
一、介绍shell shell是指“提供使用者使用界面”的软件(命令解析器),它接收用户命令,然后调用相应的应用程序。shell的类型:Bourne Shell(/usr/bin/sh或/bin/sh)Bourne Again Shell(/bin/bash)C Shell(/usr/bin/csh)K Shell(/usr/bin/ksh)Shell for Root(/
2016-08-02 12:31:29
566
原创 Linux文件存储
一、都有哪几种文件系统?简单介绍几种Linux支持的文件系统:NFS、MINIX、MS-DOS和ext2,日志文件系统:ext3、JFS和ReiserFS,同时还有加密文件系统(CFS)和虚拟文件系统(/proc)。二、一次文件的读取过程: 用户通过输入vim fileA来打开文件,系统内部的操作是: a、通过文件名找到文件的inode号; b、通过inode号获取inode
2016-07-29 19:25:52
2575
原创 Linux命令--grep
含义、功能: grep(global regular expression print,全局正则表达式输出)的搜索工具,当命令匹配到执行命令时指定的模式时,grep会将包含模式的一行输出,但是并不对原文件内容进行修改。grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。我们利用这些
2016-07-22 16:33:05
692
原创 Linux命令--ls
ls是英文list segment的缩写,用于列出文件,是Unix系统中使用非常频繁的命令。使用方法: 直接使用ls的话显示的是当前目录的文件,ls+目录:名则显示该目录底下的文件参数的含义(我平常用到的参数):-l(long)长格式,显示文件类型、权限、硬链接的数目、文件拥有者、文件所在的组、大小、日期和文件名。-a(all)显示所有文件,包括以 . 开头的文件名(默认不显示)。-d(
2016-07-22 15:50:56
611
原创 shell学习--[、test测试的使用
一、在shell中,测试会设置返回的状态,test是一个内置命令,test会根据expr表达式的求值结果返回真或者假,同时也可以使用方括号[],test expr和[ expr ]是等价的,可以使用$?来检查返回值。 -o 操作符允许测试利用 set -o 选项 设置的各种 shell 选项,如果设置了该选项,则返回 True (0),否则返回 False (1)1、文件判断 若判断符合则返回t
2016-07-21 16:25:49
691
原创 Linux命令--date
一、date命令%s seconds since ‘00:00:00 1970-01-01 UTC’ (a GNU extension)$ date +%s //获取当前时间,以s为单位表示出来
2016-07-20 11:45:24
477
原创 选择类排序---堆排序
堆存储:堆的数据实际是保存在数组中的,i结点的父结点下标就为(i – 1) / 2。它的左右子结点下标分别为2 * i + 1和2 * i + 2。如第0个结点左右子结点下标分别为1和2。 大根堆:根节点的值大于等于左右子树的值 小根堆:根节点的值小于等于左右子树的值堆排序主要有几个操作步骤:1> 初始化堆:先将一个数组初始化为一颗完全二叉树,再利用筛选的方法逐层向上把所有子树调整为大根
2016-03-06 16:50:55
538
原创 回文串判断与查找
1> 判断一个字符串是否为回文串? 例如 :"abcdcba" 直接在字符串头部和尾部放置两个指针(p,q),两个指针分别向中间移动,若遇见不想等的情况直接return false;循环条件设置为p<q; 2> 不区分大小写和其余字符判断一串字符串是否为回文字符串例如:"A man, a plan, a canal, Panama"该字符串就是一个回文的字符串,除去逗号和
2016-02-28 01:09:17
1747
原创 MySQL数据库limit分页、排序-SQL语句示例
1> select from message limit 3, 11;* 从message表中查询从第3行开始查询11行的数据.2> select from message limit 10;* 从message表中查询从第一行开始查询10行的数据,等价于select from message limit 0,10;* 3> select * from message orde
2016-02-18 19:20:24
664
原创 定向爬虫:动态加载网页的爬取
×× 前几天看了一下豆瓣电影的内容,想从豆瓣电影的分类排行榜 · · · · · 中爬取多一点的电影信息。点击一个类型进去之后发现它里面的电影信息时需要你不断往下拉动滚动条之后才会动态地加载更多的电影信息并显示出来。观察了一下发现了它采用的是AJAX异步请求(通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新)
2016-01-26 20:06:07
18830
3
原创 Java中从终端录入数据的方式
<一> 、使用标准输入串System.insystem.in.read()方法的作用是从键盘读出一个字符,然后返回它的Unicode码。按下Enter结束输入char c = 0; //必须初始化try { c = (char) System.in.read(); //录入的是Unicode码} catch(IOException e){ e.pri
2015-12-21 16:28:32
2491
原创 Java中ArrayList 元素的排序
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2015-12-13 15:53:55
12395
原创 Java虚拟机-----方法区和运行时常量池
方法区: 方法区(Method Area)与Java堆一样,是各个线程共享的内存区域,它用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据(是唯一的数据)。当java虚拟机通过类加载器加载这个类的时候,这个类的信息就会保存到方法区中,虽然Java虚拟机规范把方法区描述为堆的一个逻辑部分,但是它却有一个别名叫做Non-Heap(非堆),目的应该是与Java堆区分开来。Hot
2015-11-23 11:37:47
9367
2
原创 Java虚拟机-----运行时栈结构
Java 虚拟机栈 该区域也是线程私有的,它的生命周期也与线程相同。虚拟机栈描述的是 Java 方法执行的内存模型:每个方法被执行的时候都会同时创建一个栈帧,栈它是用于支持续虚拟机进行方法调用和方法执行的数据结构。对于执行引擎来讲,活动线程中,只有栈顶的栈帧是有效的,称为当前栈帧,这个栈帧所关联的方法称为当前方法,执行引擎所运行的所有字节码指令都只针对当前栈帧进行操作。栈帧用于存储局部变量
2015-11-19 22:15:13
900
2
原创 Java虚拟机-----内存区域的划分
最常用的JVM是:Oracle HotSpot (热点)Java 虚拟机在执行 Java 程序的过程中会把他所管理的内存划分为若干个不同的数据区域。Java 虚拟机规范将 JVM 所管理的内存分为以下几个运行时数据区:程序计数器、Java 虚拟机栈、本地方法栈、Java 堆、方法区。 Java 虚拟机运行时数据区Java虚拟机中若干种程序运行期间会使用到的存储不同
2015-11-19 00:07:17
914
原创 浅浅谈Java反射机制( JAVA Reflection)
首先有两个问题: 1> 什么是Java的反射机制? 2> 反射机制有什么作用? <1> 反射机制指的是我们可以于运行时加载、探知、使用编译期间完全未知的classes。 换句话说,Java程序可以加载一个运行时才得知名称的class,获悉其完整构造(但不包 括methods定义),并生成其对象实体、或对其fields设值、或唤起其methods。<2>反射能够让我们:在运行时检测
2015-11-18 00:15:02
725
1
原创 Java中对象的引用
对象在内存中的具体存储方式到底是什么样子的呢?这就要提出“对象引用”这个概念public class Test{ public static void main(String[] args) { Human aPerson = new Human(160); }}class Human{ /**
2015-11-12 19:49:32
5911
原创 程序到进程的过程
程序就是一堆代码组合起来实现某种功能,进程可以说是跑起来的程序。 程序经过编译之后会生成一个.exe可执行文件#include<stdio.h>#include<string.h>int global = 1; //全局变量int func(){ //函数1 int var1 = 1;
2015-11-12 16:36:22
3919
原创 springMVC:将controller中数据传递到jsp页面
1> 将方法的返回值该为ModelAndView在返回时,将数据存储在ModelAndView对象中如: newModelAndView("/WEBINF/jsp/showData.jsp","message",message)其中第一个参数为url,第二个参数为要传递的数据的key,第三个参数为数据对象。 在这里要注意的是 数据是默认被存放在request中的。示例:@RequestMa
2015-10-29 17:35:17
56941
6
原创 Spring MVC入门示例
MVC框架: MVC是一个设计模式, MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑 MVC 是一种使用 MVC(Model View C
2015-10-29 09:58:39
890
原创 Valid Parentheses
Given a string containing just the characters ‘(‘, ‘)’, ‘{‘, ‘}’, ‘[’ and ‘]’, determine if the input string is valid. The brackets must close in the correct order, “()” and “()[]{}” are all valid
2015-09-30 21:58:31
531
原创 汇编语言编写的Hello World
Linux 下用汇编语言编写的代码具有两种不同的形式。第一种是完全的汇编代码,指的是整个程序全部用汇编语言编写。尽管是完全的汇编代码,Linux 平台下的汇编工具也吸收了 C 语言的长处,使得程序员可以使用 #include、#ifdef 等预处理指令,并能够通过宏定义来简化代码。第二种是内嵌的汇编代码,指的是可以嵌入到C语言程序中的汇编代码片段。虽然 ANSI 的 C 语言标准中没有关于内嵌汇编代
2015-09-29 20:36:24
24277
1
原创 Java设计模式之代理模式
代理模式:为其他对象提供一种代理,以控制对这个对象的访问,可以去掉某些功能,或者增加某些额外的服务. 例如汽车具有行驶的功能,如果想为汽车再添加日志,记录行驶时间的工作时,便可以创建代理类进行其余的操作.1>创建一个interface包含汽车的move()方法package com.proxy;/** * Created by panlu on 15-9-5. */public inte
2015-09-07 14:05:27
662
1
原创 linux下Mysql乱码问题的处理
今天突然意识到我的mysql在添加数据时如果数据里面有中文问题的话,添加进去,再从表中select的话中文就变成了??? 在网上查了一篇博客,说要修改好几项,把人折腾的呀.在[client]下面加一个default-character-set = utf8在[mysqld_safe]下面加一个(这个我试着把它注释掉也还是能用的,不过还是加上保险)default-character-set = ut
2015-08-17 21:56:20
590
原创 对象持久化和数据序列化
对象持久化(Persistence) 对象持久化就是将对象存储在可持久保存的存储介质上,例如主流的关系数据库中。在实际应用中,需要将业务数据以对象的方式保存在数据库中,就需要应用到相应的对象持久化框架,如现在广为认知的Hibernate。而如果查阅对象持久化的历史,你会发现早在1970年就已经开始有称之为面向对象数据库OODBMS。通常这些面向对象的数据库和特定的一种语言绑定。对象持久化的重点在于
2015-08-13 14:26:45
820
1
原创 HttpClient连接网页,Jsoup解析网页
这两天在爬取某个医疗网站的信息,一开始就没有用httpClient用的全是Jsoup,用Jsoup链接并解析,上网搜了一下发现HttpClient和Jsoup结合起来也可以获取内容.所以把我github上的一篇代码有翻修了一下. package GetMedicineName_001;import org.apache.commons.httpclient.HttpMethod;import
2015-08-11 21:13:32
854
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人