自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (1)
  • 论坛 (1)
  • 收藏
  • 关注

转载 如何学好java基础

今天在公众号偶然发现这么一篇文章,对于笔者谈的:"一方面很努力学习,一方面又觉得不踏实",我感同身受.觉得文章写得不错,在此献给一些在java中努力修炼的道友,希望能有所收获.这是文章链接:https://mp.weixin.qq.com/s/IU_xCCGSRbEQQLkpqpaB3A文章内容我也全部copy过来:近日里,很多人邀请我回答各种j2ee开发的初级问题,我无一都强调java初学者要先...

2018-05-22 09:48:08 11460 5

原创 Can‘t find a codec for class java.math.BigDecimal

在对mongodb做insert或者update操作时出现的错,原因是插入的数据里面有BigDecimal 类型.造成BigDecimal的原因可能是fastjson转换造成的,fastjson转换时默认会把float和double类型转换成BigDecimal类型,若不想要类型改变,则需要做设置1.scala val disableDecimalFeature = JSON.DEFAULT_PARSER_FEATURE & ~Feature.UseBigDecimal.getMask.

2021-08-04 16:38:59 55

原创 log4j2配置日志默认最大个数,以及自动删除过期日志文件的配置

网上看的文章,亲测有用.果你做过类似的资料搜索工作, 你会容易找到相关的配置方法. 然而, 但是, 大部分都是你抄我, 我抄你的, 并没有仔细检测, 就写的教程.其中重要的就是删除过期日志文件的配置. 很多都说通过max=数字控制.这是扯淡, 这个只是控制某时间段内(根据配置不同)文件的数目.它并不会关心你的目录下一共有多少个日志文件了. 可想而知, 这样随着时间的推移, 虽然每个时间区间内日志数目控制在范围内, 但是, 总日志文件个数, 依然日益膨胀.log4j2.xml<?xml

2020-05-26 10:37:55 1900

原创 python中os模块listdir,isdir,isfile方法

首先说一下os模块,该模块提供了一些方便使用操作系统相关功能的函数。 如果你是想读写一个文件,请参阅open(),如果你想操作路径,请参阅os.path模块,如果你想在命令行上读取所有文件中的所有行请参阅fileinput模块。 有关创建临时文件和目录的方法,请参阅tempfile模块,对于高级文件目录处理,请参阅shutil模块。os.listdir(path)返回一个...

2020-04-27 15:04:21 457

原创 springboot打包依赖包lib分离部署

springboot使用起来确实简单,但是随着项目的增大,每次上传全量包是十分麻烦又耗时的事.是因为每次都要重复的上传依赖包在网上看了很多资料,大多都是讲述的把lib依赖如果复制出来,但是打出来的包里面还是会有lib目录,并不能起到减小jar包臃肿的情况.下面提供一个简单又实用的方法.第一步:正常打包,复制lib项目正常打包后,用解压软件,打开压缩包,复制出BOOT-INF\lib目录....

2020-03-24 11:59:51 2155

转载 Nginx支持WebSocket反向代理

WebSocket是目前比较成熟的技术了,WebSocket协议为创建客户端和服务器端需要实时双向通讯的webapp提供了一个选择。其为HTML5的一部分,WebSocket相较于原来开发这类app的方法来说,其能使开发更加地简单。大部分现在的浏览器都支持WebSocket,比如Firefox,IE,Chrome,Safari,Opera,并且越来越多的服务器框架现在也同样支持WebSocket。...

2020-01-07 10:31:10 667

原创 centos 7.5设置静态ip

1.修改配置文件vim /etc/sysconfig/network-scripts/ifcfg-ens33此时可以看到:修改为:注意事项:网关的网段和本机ip的网段要相同2.重启网卡systemctl restart network...

2019-11-21 10:03:52 447

转载 Spark读取数据库(Mysql)的四种方式讲解

一、不指定查询条件  这个方式链接MySql的函数原型是:def jdbc(url: String, table: String, properties: Properties): DataFrame  我们只需要提供Driver的url,需要查询的表名,以及连接表相关属性properties。下面是具体例子:val url = "jdbc:mysql://www.ite...

2019-11-06 15:18:29 1153

原创 redis-cluster (5.X)集群扩容

最近在工作中需要对redis集群扩容,在网上搜了些帖子都是3.X,4.X版本的,由于公司使用的是5.X版本,于是乎,久久无果.最后按照官网操作了一下还是挺简单的要扩容,先添加主节点,然后再分配hash槽,然后再添加从节点.注:此处redis-server和redis-cli文件在redis根目录/src下一.添加主节点1.从原有的集群拷贝实例2.启动实例./src/red...

2019-10-28 16:14:34 370

原创 oracle恢复表的数据到某个时间点

delete from tablename;insert into tablenameselect *from tablenameas of timestamp to_timestamp('2017-01-08 11:00:00','yyyy-mm-dd hh24:mi:ss')注意:1.表结构更改了不可使用此方法恢复数据; 2.时间间隔不能太长(几个小时还是没...

2019-03-13 10:37:03 5403 1

转载 Listagg() within group() 多行合并为一行函数

https://note.youdao.com/ynoteshare1/index.html?id=dbf6153529ceba0f5f9707758c237dfe&amp;type=note#/ -- 1.查询部门为20的员工列表SELECT t.DEPTNO,t.ENAME FROM SCOT2.使用 listagg() WITHIN GROUP () 将多行合并成...

2019-01-28 16:35:15 696

原创 java使用Hbase时的连接池实现以及查询操作

import java.io.IOException;import java.util.Map;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import org.apache.hadoop.conf.Configuration;import org.apache.h...

2019-01-08 15:43:28 4877 2

原创 使用java创建ES(ElasticSearch)连接池

1.首先要有一个创建连接的工厂类package com.aly.util;import org.apache.commons.pool2.PooledObject;import org.apache.commons.pool2.PooledObjectFactory;import org.apache.commons.pool2.impl.DefaultPooledObject;...

2019-01-03 14:50:05 11407 10

转载 jdbcTemplate调用储存过程

 JdbcTemplate调用Oracle存储过程的一些方法:1、 无返回值的存储过程调用:public class JdbcTemplateTest { private JdbcTemplate jdbcTemplate; public void setJdbcTemplate(JdbcTemplate jdbcTemplate) { this.jdbcTemplat...

2018-12-28 16:27:58 441

转载 Java中throws和throw的区别讲解

当然,你需要明白异常在Java中式以一个对象来看待。并且所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,但是一般情况下Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示,或者修正后使程序继续执行。直接进入正题哈:1.用户程序自定义的异常和应用程序特定的异常,必须借助于 throws 和 throw 语句来定义抛出异常。1.1   throw是语句抛出一个异常。...

2018-12-26 15:46:15 90

原创 javaWeb监听器(Listener)

监听器的概述监听器:就是一个Java类,用来监听其他的Java的状态的变化.监听器的用途:用来监听其他对象的变化,主要在图像化界面用得比较多监听器的术语:(拿汽车和警报器举例)事件源:指的是被监听的对象.(汽车) 监听器:值的是监听的对象.(报警器) 事件源与监听器的绑定:就是在汽车上安装报警器. 事件:指的是事件源的改变.(踹汽车一脚)---主要的功能获得事件源对象.WE...

2018-11-29 15:45:14 766

原创 关于oracle,sql写列相乘的问题

今天遇到需要获取数据库中两列的乘积问题,先做如下 总结:1。不管数据库中存的是varchar2还是数字类型的,只要实际存的值是数字就可以做运算 2.sql:select columnA * columnB product from table;当然后面也可以分组 3.示例:数据库中原来有两列,实际存的是varchar2类型的现在进行乘积查询:不知道有不有建表的时候就设定一列的值,为其他列乘...

2018-11-19 15:46:41 4570

原创 Java中常见排序算法详解

插入排序基本思想:从数组的第二个元素开始,若比前一个元素小,就向前移动(若大于就不用移动),直到插入到合适的位置,然后再去排第三个元素,依次类推,最后一个插入到合适位置时,数组的排序就完成了。流程如图所示:代码如下:/** * 直接插入排序 * @date 2018-10-18 * @param arr */ public static void sort1(i...

2018-11-05 11:33:45 3721 3

转载 解决在Windows10下没有权限修改hosts文件的问题

书到用时方恨少啊,在网上看了很多,最后终于找到了个能用的.当遇到有hosts文件不会编辑或者,修改了没办法保存”,以及需要权限等问题如图:我学了一招,现在交给你:1、win+R  输入:C:\Windows\System32\drivers\etc2、进入hosts的文件所在目录:3、我们开始如何操作才能不出现权限问题那?3.1、点击‘’文件‘’按钮:3.2、进入一个菜单页...

2018-10-22 16:29:15 18746 6

转载 LinkList源码分析

本篇介绍的LinkedList是List接口的一种实现,它的底层是基于双向链表实现的,因此它具有插入删除快而查找修改慢的特点,此外,通过对双向链表的操作还可以实现队列和栈的功能。LinkedList的底层结构如下图所示。F表示头结点引用,L表示尾结点引用,链表的每个结点都有三个元素,分别是前继结点引用(P),结点元素的值(E),后继结点的引用(N)。结点由内部类Node表示,我们看看它的内部结...

2018-10-17 15:39:26 393

原创 Java泛型

一.为什么会使用泛型从Java程序设计语音1.0以来,变化最大部分就是泛型.泛型正是我们需要的程序设计手段.使用泛型机制编写的程序代码要比哪些杂乱的使用Object变量,然后再进行强制类型转换的代码具有更好的安全性和可读性.在Java中增加泛型类之前,泛型程序设计就是用继承实现的.ArrayList类只维护一个Object引用的数组.类似于下面的代码:public class Arr...

2018-09-19 17:10:30 210

原创 ArrayList工作原理及底层源码实现

一.概述以数组实现。节约空间,但数组有容量限制。超出限制时会增加50%容量,用System.arraycopy()复制到新的数组。因此最好能给出数组大小的预估值。默认第一次插入元素时创建大小为10的数组。按数组下标访问元素-get(i)、set(i,e) 的性能很高,这是数组的基本优势。如果按下标插入元素、删除元素-add(i,e)、 remove(i)、remove(e),则要用Sy...

2018-08-30 16:10:04 582

原创 Java接口回调详解

一.产生接口回调的场景在现实生活中,产生接口回调的场景很简单,比如我主动叫你帮我做一件事,然后你做完这件事之后会通知我,"通知我"这个动作就是接口回调的动作.接口回调重在理解思就好.再举个例子用于下面的代码演示,老师让学生做课堂练习,学生做完练习后并告诉老师.二.什么是接口回调在Java的层面简单的说一下接口回调:现有一个接口A,和它的实现类A1,和另外一个有接口A引用的类B,因为类B...

2018-08-29 16:15:33 10767 4

转载 根据HttpServletRequest获取用户真实IP地址

原因: 当我们通过request获取客户端IP时,自身服务器通常会为了保护信息或者负载均衡的目的,对自身服务器做反向代理。此时如果我们通过request.getRemoteAddr();可能获取到的是自身代理服务器的IP,而无法达到获取用户请求ip的目的。 解决办法: 以下整理了各个代理服务器自己开发的转发服务请求头,这些请求头都不是标准的http请求头,不一定所有的代理都...

2018-08-23 15:29:32 535

原创 java中Timer定时器的使用和启动

一.概述定时计划任务功能在Java中主要使用的就是Timer对象,它在内部使用多线程的方式进行处理,所以它和多线程技术还是有非常大的关联的。在JDK中Timer类主要负责计划任务的功能,也就是在指定的时间开始执行某一个任务,但封装任务的类却是TimerTask类。二.应用场景我们使用timer的时候,一般有4种情况:1.指定时间执行;2.指定时间执行后间隔指定时间重复执行;3.启...

2018-08-18 14:31:03 16704 4

原创 java中的加密算法

数据的加密,在数据传输过程中是常用到的,前面几天在公众号上看到一篇文章讲的加密算法,感觉写得很不错,于是乎记录写自己感觉重要的再加上写自己的理解并粘上代码。一.什么是加密算法数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取,阅读的目的。该过程的...

2018-08-14 10:14:39 135

原创 Spring中使用@Async完成方法的异步事件调用

什么是事件机制 ?        今天在工作中遇到一个问题,需要在原来运行的项目上,增加一功能:(每次访问项目都向redis中写入数据),但是不能影响原来项目的运行.具体实现的思路我用了两种:1.直接在项目添加一个拦截器(也可以直接用@ModelAttribute注解,来完成此功能),在监听器里面做写数据的操作;2.采用异步机制,类似于广播模式,在拦截器里面发布向redis写数据的信号,用s...

2018-08-10 20:48:39 5754

转载 Spring jdbc Template 详解

原文地址:https://www.cnblogs.com/caoyc/p/5630622.htmlJdbcTemplate简介Spring对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate之中。JdbcTemplate位于中。其全限定命名为org.springframework.jdbc.core.JdbcTe...

2018-08-01 10:53:55 145

原创 linux日志查看常用命令

作为一个程序猿,会常常在公司开发环境,或者测试环境什么的部署项目,调试bug,自然也会常常用到日志相关的命令.下面说说工作中可能常用到的一些指令.这里我们以nohup.out日志文件为例1.动态查看日志文件(很常用):tail -fnohup.out2.动态查看日志,并让关键字高亮:tail -f nohup.out | grep '关键字'3.分页查看日志文件:①les...

2018-07-16 22:43:16 2253 1

原创 Java动态代理

    动态代理作为javaEE中相对比较高级的技术,它可以增强java类中的方法,和其他两种增强的方式相比较动态代理更灵活限制条件相对较少;它结合反射可以写出很多通用性很高的工具类.Spring的面向切面编程(AOP)的底层就有使用到jdk的动态代理.所以动态代理相对比较重要.    动态代理的条件是被代理的类需要实现接口.在动态代理中有两个很重要的类(接口),Proxy(类),Invocati...

2018-06-29 15:51:06 153 1

原创 增强类中的方法之继承和装饰者模式

增强一个java类中的某个方法的几种方式有:①继承的方式②装饰者模式方式③动态代理的方式;本文着重介绍前两种,动态代理另外用一篇来讲解.继承    用这种方式来增强类中的某个方法的时候必须要能够获取得到这个类.也就是说你能继承得到这个类.下面我们用代码演示下:public class Animal { public void eat(){ System.out.println("吃东西");...

2018-06-27 21:41:03 368

原创 反射

    反射,一直是觉得一个比较高级而且非常核心的技术,很多框架和工具都有用到反射,今天简单的总结一下反射常用的方法.1.反射的概念    java的方式机制是在运行状态中,对任意一个类,都能够知道这个类的属性和方法,对于任意一个对象,都能调用它的任意一个方法,这种动态的获取以及动态的调用对象的方法的功能成为java语言的反射机制.    2.字节码对象    在类加载后,会在堆内存中生成一个Cl...

2018-06-26 22:00:19 407

原创 Integer类和int的关系以及自动装箱

什么是自动拆装箱:    假设我们想定义一个整型的数组列表(集合),而尖括号里的类型不允许是基本数据类型,也就是说,不允许写成ArrayList&lt;int&gt;,这里就必须用到Integer类.像这样的情况,需要将int这样的基本数据类型转换为对象.所有的基本类型都有一个与之对应的类.例如:Integer对应的基本数据类型int.通常这些类型称之为包装器.他们的名字和基本数据类型有些小的差别...

2018-06-08 13:57:15 152

原创 final finally finalize的区别

final finally finalize的区别final(最终的):    1.final修饰的类,不可以被继承,比如String类;    2.final修饰的方法,不能被重写;综上两点:final不能和abstract共存(因为抽象类自身无法创建对象,我们需要通过子类创建对象,一旦抽象类使用final关键字,那么抽象类就没有子类,抽象方法不能和final共存,因为抽象方法后期需要被子类重写...

2018-05-30 16:33:20 240

原创 java中静态代码块,构造代码块,局部代码块等的执行顺序以及特点

静态代码块:在类中方法外出现,并加上static修饰;用于给类进行初始化,在加载的时候就执行,并且只执行一次。,如果一个类中用main方法,静态代码块要先于main方法执行;静态代码款示例:    static {        System.out.print("我是构造代码块!");        }构造代码块:在类中方法外出现,多个构造方法方法中相同的代码存放到一起,每次调用构造都执行,并且...

2018-05-28 20:34:33 449

原创 java中和时间日期相关的类System,Date,SimpleDateFormat,DateFormat,Calender类的常用方法以及联系(转换)

    java中和时间日期相关的类有不少,之前系统的学习过,但是由于不经常用容易忘记,今天决定带着源码,用相对容易理解的表达,梳理一遍. System类    此类中的currentTimeMillis方法和时间有关,此方法返回的是系统的当前时间相对于1970-1-1 00:00:00(协调世界时)的毫秒值,返回是数据类型是long,具体的看下面的代码:Date类    类Date表示特定的瞬间...

2018-05-25 20:41:16 455

原创 System.gc()和Runtime.gc()和finalize()的联系

    首先,System.gc()和Runtime.gc()是没有任何区别的,每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。可以通过 getruntime 方法获取当前运行时。    在API中Runtime类的gc方法是这样写的:    名称 gc 代表“垃圾回收器”。虚拟机根据需要在单独的线程中自动执行回收过程,甚至不用显式调用 gc 方法。 ...

2018-05-24 15:29:50 3032

原创 赋值预算符"="的几种使用情况对比

"=",运用在基础数据类型,String类,和其他类情况有所不同,比如下面这段代码,我学了java这么久了,突然发现自己居然拿不准,于是仔细的研究了内存,在此分享给大家.                int a = 3; int b = a; a = 4; System.out.println(b); //3 String a1 = "小明"; String a2 = a1; a1 ...

2018-05-22 21:44:10 192

原创 String类的常见面试题,以及String,StringBuffer和StringBuilder的区别

写几个String类的常见面试题,觉得可以的老铁点赞哈,欢迎各路大神指教!内容有点多需要耐心点看完.先说说String,StringBuffer和StringBuilder的区别吧    String是字符串常量,用final修饰,StringBuffer是字符串变量,它是线程安全的,StringBuilder也是字符串变量,但是他是线程不安全的.    String和StringBuffer的区...

2018-05-19 11:41:14 3376

原创 continue和break的区别,以及如何跳出多重循环(或者判断)语句

先说一下很简单的continue和break的区别:continue:在循环语句中,它会中断正常的控制流程(跳出当次循环),将控制转移到continue所在的流程的首部,然后继续下一次循环例如:break:可用在循环,判断等语句中,用于退出当前语句(在循环语句中就是退出当前循环,在判断语句中就是判断当前判断语句)例如:然后是如何跳出多重嵌套, 我们在实际开发的时候往往判断条件会很多,会涉及的语句的...

2018-05-16 17:07:51 48937 3

sunjce_provider.jar

程序报错:Caused by: java.security.NoSuchAlgorithmException: PBKDF2WithHmacSHA256 SecretKeyFactory not available 就是缺少这个包

2020-05-08

spark分组计算

发表于 2019-08-15 最后回复 2019-08-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除