- 博客(72)
- 资源 (13)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 web 项目无法访问html,但是可以访问jsp
问题简述:可以访问以.jsp为后缀的页面,不能访问.html为后缀的页面检查web.xml中的【url-pattern】的设置 <servlet> <servlet-name>spring-mvc</servlet-name> <servlet-class>org.springframework.web.servlet.Dis...
2018-07-19 10:35:28
13150
6
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 运行tomcat 时报错,提示无法找到相关的jar包 Publishing failed with multiple errors Error reading file
1、问题描述:运行tomcat 时报错,提示无法找到相关的jar包,如下Publishing failed with multiple errorsError reading file C:\Users\Lin\.m2\repository\commons-logging\commons-logging\1.2\commons-logging-1.2.jarC:\Users\Lin...
2018-07-14 10:28:18
12889
原创 the desired address is beyond limit for this PLC
问题描述:通过 Java连接西门子PLC(S7-1200)学习中,出现错误:the desired address is beyond limit for this PLC下面是测试代码 S7Connector connector = S7ConnectorFactory .buildTCPConnector() .withHost("192.168.0.195") .withPo
2022-05-14 20:08:16
1623
2
原创 nginx 日志解析
设置nginx日志格式默认变量格式:log_format combined '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"';$remote_addr变量:记录了客户端的IP地址(普通情况下)。$remote_user变量:当nginx开启了用户认证功能后,此变量记录了客户端使用了哪个用户进行了认证。$time_l
2020-06-24 15:39:00
12609
1
原创 如何上传大文件(4GB)到虚拟机
使用xhell上传大文件会报文件过大的异常。1.百度搜索Everything,进入官网下载。这个程序体量非常小,可以放心下载。2、下载完成后打开,点击工具一栏,选择“选项”(或者使用快捷键ctrl + p)3、打开选项后,在左边选择HTTP服务器一栏,勾选启用,填写用户名和密码,然后点击确认。4、查询你的电脑的ipv4地址 (win+R打开运行,键入cmd打开命令窗口,键入ipconfig查看自己的以太网IPv4地址)5、打开电脑的浏览器,比如火狐浏览器。输入刚查到的..
2020-06-02 10:21:43
4327
原创 分布式锁 redis
import org.redisson.Redisson;import org.redisson.api.RLock;import org.redisson.config.Config;import java.util.concurrent.CountDownLatch;import java.util.concurrent.TimeUnit;public class Test { private static CountDownLatch finish = new CountD..
2020-05-19 17:07:29
224
原创 MYSQL 幻读
更新数据都是先读后写的,而这个读,只能读当前的值,称 为“当前读(current read)1. 在可重复读隔离级别下,普通的查询是快照读,是不会看到别的事务插入的数据的。因此, 幻读在“当前读”下才会出现。 2. 上面 session B 的修改结果,被 session A 之后的 select 语句用“当前读”看到,不能称 为幻读。幻读仅专指“新插入的行”。...
2020-05-12 17:13:19
249
原创 MySQL 自增值保存
不同的引擎对于自增值的保存策略不同。 MyISAM 引擎的自增值保存在数据文件中。 InnoDB 引擎的自增值,其实是保存在了内存里,并且到了 MySQL 8.0 版本后,才有 了“自增值持久化”的能力,也就是才实现了“如果发生重启,表的自增值可以恢复为 MySQL 重启前的值”,具体情况是: 在 MySQL 5.7 及之前的版本,自增值保存在内存里,并没有持久化。每次重启后, 第一次打开表的时候,都会去找自增值的最大值 max(id),然后将 max(id)+1 作为这 个表当前的自增值。举.
2020-05-12 15:35:32
458
原创 冒泡排序
冒泡排序是一种基础的交换排序算法,简单的冒泡排序代码比较简单public static void sort(int[] arr){ int changeNum = 0; //轮询次数 int compareNum = 0; //比较元素次数 int swapNum = 0; //交换元素次数 for(int i =...
2020-04-16 10:57:21
199
原创 二叉树的遍历 (递归/栈)
二叉树的遍历可分为两种:深度遍历和广度遍历深度遍历又分为三种:前序、中序、后序遍历,这三种遍历方式可以用递归或栈来实现1、递归以如下的二叉树为例,遍历该二叉树。 a.建立节点类public class TreeNode { int data; TreeNode leftChild; TreeNode rightChild; ...
2020-04-14 11:02:20
617
原创 为什么不建议用Executors?
为什么不建议用Executors?Java为什么要创建Executors类? 考虑到ThreadPoolExecutor的构造函数实在是有些复杂,所以Java并发包里提供了一个线程池的静态工厂类Executors,利用Executors你可以快速创建线程池。不建议使用Executors的最重要的原因是:Executors提供的很多方法默认使用的都是无界的LinkedBlockingQueu...
2020-03-19 15:40:30
3865
转载 深入理解乐观锁与悲观锁
在数据库的锁机制中介绍过,数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。乐观并发控制(乐观锁)和悲观并发控制(悲观锁)是并发控制主要采用的技术手段。无论是悲观锁还是乐观锁,都是人们定义出来的概念,可以认为是一种思想。其实不仅仅是关系型数据库系统中有乐观锁和悲观锁的概念,像memcache、hibernat...
2020-03-18 11:39:35
1091
转载 从同步容器到并发容器
引言容器是Java基础类库中使用频率最高的一部分,Java集合包中提供了大量的容器类来帮组我们简化开发,我前面的文章中对Java集合包中的关键容器进行过一个系列的分析,但这些集合类都是非线程安全的,即在多线程的环境下,都需要其他额外的手段来保证数据的正确性,最简单的就是通过synchronized关键字将所有使用到非线程安全的容器代码全部同步执行。这种方式虽然可以达到线程安全的目的,但存在几个...
2020-03-18 11:11:25
1089
原创 Redis 存储Java 对象 (序列化和反序列化)
Redis的string 类型是二进制安全的,可以储存序列化的对象。因此可以通过序列化储存java对象,再通过反序列化得到对象。新建一个maven项目,添加相关的Jar包依赖。<dependencies> <!-- https://mvnrepository.com/artifact/redis.clients/jedis --> ...
2020-01-21 09:43:42
5261
原创 如何让 10 个线程按照顺序打印 0123456789
如何让 10 个线程按照顺序打印 0123456789? 设定一个 orderNum,每个线程执行结束之后,更新 orderNum,指明下一个要执行的线程。并且唤醒所有的等待线程。 在每一个线程的开始,要 while 判断 orderNum 是否等于自己的要求值!!不是,则 wait,是则执行本线程。 w...
2020-01-13 09:16:36
1820
原创 ForkJoin 并发
分治,顾名思义,即分而治之,是一种解决复杂问题的思维方法和模式;具体来讲,指的是把一个复杂的问题分解成多个相似的子问题,然后再把子问题分 解成更小的子问题,直到子问题简单到可以直接求解。Java并发包里提供了一种叫做Fork/Join的并行计算框架,就是用来支持分治这种任务模型的。如何用Fork/Join 并行计算框架计算斐波那契数列 f(n)=f(n-1)+f(n-...
2020-01-06 14:31:07
1189
原创 并行多线程任务的创建
对于简单的并行任务,你可以通过“线程池+Future”的方案来 解决;如果任务之间有聚合关系,无论是AND聚合还是OR聚合,都可以通过CompletableFuture来解决;而 批量的并行任务,则可以通过CompletionService来解决线程池+Future // 线程池private static ExecutorService myExecutor = Exe...
2020-01-02 09:52:13
1397
原创 线程和线程池的创建及使用
三种创建线程的方法一、通过继承 Thread 类本身public class MyThread extends Thread { @Override public void run(){ super.run(); System.out.println("执行子线程..."); }}public class Test {...
2019-12-30 16:39:33
1982
原创 count(*) MySQL 统计表的行数
在不同的 MySQL 引擎中,count(*) 有不同的实现方式。1、MyISAM 引擎把一个表的总行数存在了磁盘上,因此执行 count(*) 的时候会直接返回这个 数,效率很高;2、InnoDB 引擎执行 count(*) 的时候,需要把数据一行一行地从引擎里面读出来,然后累积计数。以上前提是没条件过滤的情况下,如果有条件筛选,两种引擎的效率都不高。以InnoDB...
2019-12-09 14:56:24
8432
原创 死锁检查和查看
只有以下这四个条件都发生时才会出现死锁: 1. 互斥,共享资源 X 和 Y 只能被一个线程占用; 2. 占有且等待,线程 T1 已经取得共享资源 X,在等待共享资源 Y 的时候,不释放共享资源 X; 3. 不可抢占,其他线程不能强行抢占线程 T1 占有的资源;4. 循环等待,线程 T1 等待线程 T2 占有的资源,线程 T2 等待线程 T1 占有的资源,就是循环等 待。 ...
2019-12-05 17:16:58
1285
原创 Mysql查看慢日志
1、开启慢日志查询set global slow_query_log='ON';[SQL]set global slow_query_log='ON';受影响的行: 0时间: 0.000s2、查看慢日志是否开启ON为开启,OFF为关闭show variables like 'slow_query%';结果:慢日志已经开启以及日志文件所在位置3、设置慢日志时间...
2019-11-18 11:15:52
1190
原创 select for update 和 lock in share mode 异同点及其影响
可能用到的情景和对性能的影响使用情景:1. select *** for update 的使用场景为了让自己查到的数据确保是最新数据,并且查到后的数据只允许自己来修改的时候,需要用到 for update 子句。对主键索引加锁2. select *** lock in share mode 使用场景为了确保自己查到的数据没有被其他的事务正在修改,也就是说确保查到的数据是最...
2019-08-21 15:46:06
2060
原创 MySQL 8.0+ 安装注意事项
https://dev.mysql.com/downloads/mysql/ 下载最新的MYSQL zip 包下载完后,我们将 zip 包解压到相应的目录,这里我将解压后的文件夹放在 C:\web\mysql-8.0.11 下。接下来我们需要配置下 MySQL 的配置文件打开刚刚解压的文件夹 C:\web\mysql-8.0.11 ,在该文件夹下创建 my.ini 配置文件,编辑 m...
2019-07-29 15:17:29
1506
原创 Java 克隆 (浅克隆/深克隆)
Java中对象的克隆1.为了获取对象的一份拷贝,我们可以利用Object类的clone()方法2.在派生类中覆盖基类的clone()方法,并声明为public3.在派生类的clone()方法中,调用super.clone()4.在派生类中实现Cloneable接口public class User implements Cloneable { private Stri...
2019-07-26 17:19:57
1095
原创 三门问题 解析及代码验证
有三扇关闭的门,其中两扇门的后面是空的,剩下一扇门后是一辆法拉利跑车。 当你选择一道门以后,暂时先不打开这扇门,接下来把剩下两扇门当中的一扇打开,是空门。 给你重新选择的机会:可以坚持刚才选择的门,也可以换另一扇没有打开的门。 如果你是游戏参与者,你怎样选择的获奖率更大?获奖率又是多少? 答案就是...
2019-07-25 10:31:37
2824
原创 MYSQL 周统计函数 data_format YEARWEEK
周转换函数采用 data_format,修饰符 %x-%v select date_format("2018-12-31","%x-%v") %x :年,星期一是周的第一天 %v :周, 星期一是周的第一天该函数中的跨年周统计 : 下一年的第一个周一之前的天数如果能超过3天(不包括3天),那么计算为第 1 周。否则就计算为上一年的最后一周(例:201601...
2019-07-02 17:07:00
1843
原创 Python 爬取CSDN博客文章
新建一个module,用于根据用户名来获取文章的url#coding=utf-8from bs4 import BeautifulSoupimport requests#获取博客文章数量def get_page_size(user_name): article_list_url = 'https://blog.csdn.net/'+user_name req = r...
2019-05-17 16:10:17
2203
原创 linux 时间同步管理器 NTP
概述: Hadoop对集群中各个机器的时间同步要求比较高,要求各个机器的系统时间不能相差太多,不然会造成很多问题。可以配置集群中各个机器和互联网的时间服务器进行时间同步,但是在实际生产环境中,集群中大部分服务器是不能连接外网的,这时候可以在内网搭建一个自己的时间服务器(NTP服务器),集群的各个机器与这个时间服务器进行时间同步。 NTP...
2019-04-23 16:41:46
1783
原创 linux 关闭防火墙(Centos)
Centos 7 系统一、防火墙的开启、关闭、禁用命令(1)设置开机启用防火墙:systemctl enable firewalld.service(2)设置开机禁用防火墙:systemctl disable firewalld.service(3)启动防火墙:systemctl start firewalld(4)关闭防火墙:systemctl stop firewalld...
2019-04-23 11:48:18
451
原创 hadoop 完全分布式部署(linux) 超详细版
概述:利用多台Linux主机来进行部署Hadoop,对Linux机器集群进行规划,使得Hadoop各个模块分别部署在不同的多台机器上。新建一个虚拟机hadoop1为主站,分别克隆两个名为hadoop2和hadoop3的从站。centOS 7 安装:https://blog.csdn.net/Henry_Lin_Wind/article/details/80876494Hostn...
2019-04-20 14:05:34
6757
1
原创 java反序列化 (PHPSerializer 序列化的对象)
java反序列化php序列化的对象1、原始数据为一个字符串2、原始数据为一个对象3、原始数据为一个集合(List 或Map)1、反序列化为java字符串s:21:"这是一个字符串";String str = "s:21:\"这是一个字符串\"";PHPSerializer phpSerializer = new PHPSerializer();Object o...
2019-04-07 18:18:25
2925
原创 hadoop 伪分布式部署(linux) 超详细版
Hadoop配置 本地模式下,不需要配置也可以使用,因此伪分布式需要追加如下配置:export HADOOP_HOME="/usr/local/hadoop-2.7.2"export PATH=$HADOOP_HOME 参考结果如下:JAVA_HOME=/usr/local/jdk1.8.0_171CLASSPATH=.:$JAVA_HOME/lib.tools.ja...
2019-03-30 11:57:45
974
原创 hadoop入门 权威指南 气温统计案例
Hadoop 权威指南(第3版) 下载:https://download.csdn.net/download/henry_lin_wind/11036890气象数据集的编码格式:安行并以ASCII格式存储,其中每一行是一条记录1-4 0169 5-10 501360 # USAF weather station identifier 11-15 9...
2019-03-27 14:16:55
1339
原创 Linux环境下,Eclipse运行hadoop的本地模式
JDK和Hadoop的安装可以参考我的博客:Linux安装JDK完整步骤(centOS7):https://blog.csdn.net/Henry_Lin_Wind/article/details/80884975Hadoop本地模式安装:https://blog.csdn.net/Henry_Lin_Wind/article/details/88802339一、下载Eclipse...
2019-03-26 11:01:41
1333
1
原创 Hadoop本地模式安装
上官网下载合适的安装包http://hadoop.apache.org/1 把安装包放到合适的目录下,安装到 /usr/local1、在安装包所在的文件夹,右击打开控制台2、解压安装包到指定的位置tar -zxvf hadoop-2.9.2.tar.gz -C /usr/local2 运行MapReduce程序来验证安装是否成功1、用hadoop自...
2019-03-25 18:30:32
1282
原创 字符串的提取,替换 (正则表达式、Pattern 和 Matcher )
在学习调用第三方短信平台发送短信的时候,生成短信日志需要对发送的参数做提取和替换的处理。这就涉及到字符串的搜索和匹配以及替换。对调用第三方短信平台发短信有兴趣的可以参考我博文。网易云通信:https://blog.csdn.net/Henry_Lin_Wind/article/details/88190605阿里大于:https://blog.csdn.net/Henry_Lin_Win...
2019-03-18 16:23:29
2577
原创 网易云信 短信发送
1、账号申请 通过网易云通信平台发短信,需要几个重要的参数。Appkey,Appsecret 需要申请,新建模板 以及 签名 申请网易云账号:https://app.yunxin.163.com/index?clueFrom=nim&from=nim#/ (1)、申请成功后,务必申请AppKey和AppSecret。 (2)、申请短信模板...
2019-03-07 10:50:29
2815
原创 阿里大于 发送短信(maven)
问题1:升级后的App Key和App Secret获取入口找不到问题2:为什么登入大于账户却进了云通信平台原因:阿里大于全新升级为“阿里云 · 云通信”,成为阿里云旗下品牌。附上官网通告问题3:阿里大于和网易云信有什么区别?首先是API和SDK不一样, 其次是配置上有改动。新用户无法申请阿里大于的服务,只能使用阿里云通信。旧版API发送短信,必须拥有 签名,APPKE...
2019-03-05 15:44:58
1977
原创 CharsetUtil 的 UTF-32 解码格式
在学习Netty的时候用到了 Charset 字符解码工具类ctx.write(Unpooled.copiedBuffer("Hello, I am client!", CharsetUtil.UTF_8)); 从源码中可以看出常用的格式有:UTF_16,UTF_8,ISO_8859_1,US_ASCII。如果需要用到UTF_32,则无法直接调用。public final cl...
2019-02-21 19:31:13
931
hadoop的运行案例
2019-03-26
hadoop-eclipse-plugin 用于Eclipse和Hadoop关联
2019-03-26
springsource-tool-suite-3.9.7.RELEASE-e4.8.0-updatesite
2019-01-08
springsource-tool-suite-3.9.6.RELEASE-e4.8.0-updatesite.zip
2018-09-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人