javaee_sunny
码龄6年
  • 559,337
    被访问
  • 54
    原创
  • 1,277,517
    排名
  • 88
    粉丝
关注
提问 私信

个人简介:知行合一.

  • 加入CSDN时间: 2016-02-15
博客简介:

夏一的博客

查看详细资料
个人成就
  • 获得107次点赞
  • 内容获得39次评论
  • 获得400次收藏
创作历程
  • 2篇
    2021年
  • 2篇
    2019年
  • 8篇
    2018年
  • 8篇
    2017年
  • 54篇
    2016年
成就勋章
TA的专栏
  • 工具类
    1篇
  • 学习
    9篇
  • bug
    5篇
  • mysql
    4篇
  • oracle
    20篇
  • mybatis
    8篇
  • 存储过程
    4篇
  • springMVC
    5篇
  • 数据回显
    1篇
  • 控件
    1篇
  • sql
    4篇
  • maven
    1篇
  • java基础
    6篇
  • 存储函数
  • tomcat
    3篇
  • 部署
    1篇
  • TNS
  • 数据库
    7篇
  • 事务
    2篇
  • 大数据
    7篇
  • 生态架构
    4篇
  • linux
    1篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Java邮箱地址无效导致群发邮件失败的解决方案

1 问题描述生产服务器发送通知邮件,之前一直都是正常的。可突然有一天业务同事反馈收不到通知邮件了。经过查看生产运行日志,发现是由于出现无效邮件地址导致的,而核心异常日志信息如下:javax.mail.SendFailedException: Invalid Addresses at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1862) ~[mail-1.4.7.jar:1.4.7] at com.sun.mail.smtp.S
原创
发布博客 2021.03.15 ·
687 阅读 ·
1 点赞 ·
1 评论

Java调用存储过程长时间未执行完问题-解决方案

上午在生产服务器发现一个不小的问题,就是一个程序在调用存储过程中抢到了锁,但抢到锁后调用存储过程执行出现卡死的情况,导致抢到的锁迟迟没有释放,这导致第二天程序执行时,因为无法获取到锁而无法正常执行。**解决方案:**引入Future类,并设定调用存储过程执行的超时时间,通过get(long timeout, TimeUnit unit),当抛出超时异常时,记录异常,往下进行其他处理逻辑,并正常释放锁。当创建了Future实例,任务可能有以下三种状态:等待状态。此时调用cancel()方法不管传入t
原创
发布博客 2021.03.15 ·
925 阅读 ·
0 点赞 ·
0 评论

canal之高可用架构设计与应用

一 高可用架构设计配置说明:zookeeper x 3 + canal x 2 + mysql x 2组件说明:1.linux内核版本(CentOS Linux 7):(命令:uname -a)Linux slave1 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/...
原创
发布博客 2019.06.09 ·
2427 阅读 ·
1 点赞 ·
0 评论

canal应用-1个server+2个instance+2个client+2个mysql

一 canal应用架构设计组件说明:1 . linux内核版本(CentOS Linux 7):(命令:uname -a)Linux slave1 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux2.mysql版本:(SQL命令:select version(...
原创
发布博客 2019.06.09 ·
4781 阅读 ·
2 点赞 ·
1 评论

Centos7上安装Git

Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。而国外的GitHub和国内的Coding都是项目的托管平台。但是在使用Git工具的时候,第一步要学会如何安装git,本教程就手把手教大家如何手动编译安装git。1. 介绍使用Coding管理项目,上面要求使用的git版本为1.8.0以上,而很多yum源上自动安装的git版本为1.7,所以需要掌握手动编译安装gi...
原创
发布博客 2018.05.25 ·
6424 阅读 ·
2 点赞 ·
2 评论

Linux常用命令

1. 更新配置文件,刷新配置#全部更新bash#刷新指定文件source 文件名#示例:source ~/.bashrc2. centos7 设置hostnamehostnamectl set-hostname xxx#设置之后,刷新一下bash3. 跨节点远程复制文件夹# -r 多个文件夹层级,循环复制scp -r jdk1.8.0_171/ 192.168.56.100:...
原创
发布博客 2018.05.25 ·
195 阅读 ·
0 点赞 ·
0 评论

Hadoop-Hbase基础操作命令

1. 创建表create 'music_table','meta_data','action'2. 查询表列表list3. 查看表的具体描述describe 'music_table'4. 禁用表disable 'music_table'5. 激活表enable 'music_table'6. 查看表是否被激活is_enabled 'music_table' 7. 删除表(删除表之前,必须要先禁用...
原创
发布博客 2018.05.20 ·
326 阅读 ·
0 点赞 ·
0 评论

Hadoop-Hbase环境搭建

一. 初始环境1. hadoop : hadoop-1.2.12. java : jdk1.6.0_453. hbase : hbase-0.98.24-hadoop1二. 启动hadoophadoop安装目录: /usr/local/src/hbase-0.98.24-hadoop11. 格式化hadoop集群hadoop namenode -format2.启动集群start-all.sh3....
原创
发布博客 2018.05.20 ·
353 阅读 ·
0 点赞 ·
0 评论

linux关闭防火墙(临时/永久)

1. 首先查看防火墙状态:service iptables status2. 永久性生效,重启后不会复原开启:chkconfig iptables on# 永久关闭: chkconfig iptables off# 检查: chkconfig --list iptables3. 即时生效,重启后复原开启:service iptables start关闭:service iptables stop4...
原创
发布博客 2018.05.20 ·
8528 阅读 ·
0 点赞 ·
0 评论

Centos6.5设置静态IP并能进行联网

工具说明:VMwarecentos 6.5必备知识点:配置文件存放位置: /etc/sysconfig/network-scripts/host设置位置:  /etc/hosts重启网络: service network restart测试网络: ping www.baidu.com第一步: VMware开启后,我们点击头部菜单中的“编辑”,在下拉菜单中点击“虚拟网络编辑器(N)...”,如下图所...
原创
发布博客 2018.05.20 ·
4395 阅读 ·
10 点赞 ·
1 评论

Hadoop-模拟搭建日志收集系统

一. 技术点梳理Nginx:其实一个web server,此流程中做反向代理,起到分发用户请求的作用,在集群环境时,也可以用它实现负载均衡;Spawn cgi:提供一个cgi网关接口,可以将server服务,快速的暴露出去以便对外提供服务,对外提供的服务走fcgi协议,fcgi协议是一种特殊的http请求,而http请求安全性相对差一些,因为容易受到外部的攻击;Thrift RPC: 通过执行th...
原创
发布博客 2018.05.15 ·
1938 阅读 ·
0 点赞 ·
0 评论

Hadoop-模拟搭建用户行为日志采集系统分析

一. kafka应用流程示意流程图前端js埋点,就是调用后端提供的对应的接口.例如:http://pingserver.com?itemid=111&userid=110&action=show&...flume监听log日志,将实时增加的log日志通过flume管道注入kafka中,接下来可以有storm或spark streaming进行实时计算;方向(1)中应用:s...
原创
发布博客 2018.05.11 ·
2542 阅读 ·
0 点赞 ·
0 评论

存储过程中处理用逗号拼接成的参数

--in_pid 为入参,如: 12,23,24SELECT REGEXP_SUBSTR(in_pid, '[^,]+', 1, rownum) FROM DUAL CONNECT BY rownum <= (length(in_
原创
发布博客 2017.08.24 ·
609 阅读 ·
0 点赞 ·
0 评论

利用正则表达式判断是否为数字

public static void main(String[] args) { String str = null; boolean flag = isNumeric(str); System.out.println(flag); String str1 = ""; boolean flag1 = isNumeric(s
原创
发布博客 2017.08.24 ·
3692 阅读 ·
0 点赞 ·
0 评论

判断是否为纯数字拼接而成的字符串

public static void main(String[] args) { //8 表示每个数字的长度 Pattern pattern = Pattern.compile("([0-9]{8}[,]?)+"); String bigStr1 = "20170841,1"; String bigStr2 = "20170841,20
原创
发布博客 2017.08.23 ·
423 阅读 ·
0 点赞 ·
0 评论

判断是否为连续的数字拼接而成的字符串

public static void main(String[] args) { //此种情况已经明确是数字拼接而成,如果可能含有非数字的情况,需要先判断是否全部为数字 String str1= "00001,00002"; String[] split = str1.split(","); for (int i = 0; i < s
原创
发布博客 2017.08.23 ·
990 阅读 ·
0 点赞 ·
1 评论

关于Oracle存储过程中是否需要写commit的问题

是否需要在存储过程中写commit主要要依据需求:(1) 如果是不需要在存储过程中进行提交,而是由调用程序负责提交或者回滚,那么不需要在存储过程中commit或者rollback.毕竟spring框架已经可以帮助我们自动实现事务的控制;(2) 如果不想由调用程序负责提交或者回滚,那么就应该在存储过程中进行commit或rollback; 另外,如果是纯后台数据库开发,一定要写.只是写的时机同样
原创
发布博客 2017.08.23 ·
24577 阅读 ·
4 点赞 ·
0 评论

ORACLE数据库事务隔离级别

事务隔离级别:一个事务对数据库的修改与并行的另一个事务的隔离程度。两个并发事务同时访问数据库表相同的行时,可能存在以下三个问题:1、幻想读:事务T1读取一条指定where条件的语句,返回结果集。此时事务T2插入一行新记录,恰好满足T1的where条件。然后T1使用相同的条件再次查询,结果集中可以看到T2插入的记录,这条新纪录就是幻想。2、不可重复读取:事务T1读取一行记录,
转载
发布博客 2017.08.23 ·
446 阅读 ·
0 点赞 ·
0 评论

ORACLE in与exists语句的区别

结论:1. select * from A where id in(select id from B);使用in语句,上述执行次数为A.length * B.length次;2. select a.* from A a where exists(select 1 from B b where a.id=b.id);使用了exists语句,exists()会执行A.length次
转载
发布博客 2017.08.22 ·
198 阅读 ·
0 点赞 ·
0 评论

ORACLE IN 与NOT IN 的性能区别

业务问题大概可以这样描述,一个父表,一个子表,查询的结果是找到子表中没有使用父表id的记录,这种情况估计很多系统都会牵涉得到。让我们来举一个例子:  表一: 父表 parent  表二: 子表 childen  父表存储父亲,子表存储孩子,然后通过pid和父表关联,查询需要的结果是找到尚未有孩子的父亲。  我们来看一下查询语句的写法:  se
转载
发布博客 2017.08.22 ·
789 阅读 ·
0 点赞 ·
0 评论
加载更多