自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (1)
  • 收藏
  • 关注

原创 java调用python代码并传参和获取结果(亲测可用)

说明:本文通过java调用python的scipy库中的savgol_filter来实现数据的平滑滤波。由于是用到了scipy+numpy等第三方库,所以一开始使用Jython尝试无果。换为进程的方式后,前期参考网上各种博客,但一直没有数据结果的输出,后来才发现是python程序出错了,根据另一篇博客改了之后得到了错误信息。故记录下实现方法。准备python代码:import numpy as npimport matplotlib.pyplot as pltfrom scipy.signal im

2021-05-07 09:23:32 6336 7

原创 装饰器模式

属于结构型模式。目的是在不改变原有对象的基础上,将功能附加到对象上,提供了比继承更加有弹性的替代方案(拓展原有对象的功能)示例比如买煎饼这个事情,如果不使用装饰器,只是简单的使用继承,会需要用到很多类纯煎饼类如果不使用装饰器/** * 煎饼类 */public class BetterCake { /** * 名字 * @return String */ protected String getMsg(){ return "煎饼

2021-01-27 15:52:16 134

原创 模板模式

给定一个指定的流程(即模板),在这个指定流程下,又流出一定的可由用户选择的分支(即钩子)。用户在大体的流程上都必须按照模板进行,但在某个分支小点可以有自己选择的权利。示例准备一个规范的流程:一个抽象类public abstract class NetWorkCourse { //创建一个课程的规范化流程模板 protected final void creatCrouse(){ //1.发布预习资料 this.postPreResource();

2021-01-26 16:38:56 170

原创 策略模式

策略模式:避免多分支(即避免if、switch)示例准备一个标准抽象类/** * 优惠策略接口 */public interface PromotionStrategy { public void doPromotion();}准备多种优惠策略的实现类/** * 没有任何优惠-原价 */public class EmptyStrategy implements PromotionStrategy{ @Override public void doPromot

2021-01-25 17:15:28 163 1

原创 委派模式

委派模式与代理模式的区别:委派代理注重结果注重过程不属于GOF23属于GOF 23里的一种代码实现总体关系boss将任务发给指定的leader,leader在根据手下员工的特点将对应的任务分发给对应的员工代码实现boss类public class Boos { public void command(String command,Leader leader){ leader.doing(command); }}lead

2021-01-25 11:06:01 94 2

原创 代理模式之cglib动态代理

前文说到了JDK动态代理,是基于接口和Proxy实现的动态生成代理类,本文继续研究cglib动态代理,据说是基于继承实现的动态生成代理类。第一步:先不管具体理解,按照cglib代理的代码流程实现一个案例;第二部:根据这个案例去理解cglib动态代理目录代码实现初步分析总之:【注】cglib有个坑:代码实现准备一个被代理者/** * @program: easystart * @description: 被代理的类 * @author: 陵先生 * @create: 2021-01-20

2021-01-22 10:40:59 146

原创 代理模式之动态代理->JDK动态代理

代理就是对某一个类进行非入侵式的增强,即在其执行前后执行某些逻辑。静态代理此处跳过,本文主要讨论JDK动态代理。第一步:先不管具体理解,按照JDK代理的代码流程实现一个案例;第二部:根据这个案例去理解JDK动态代理目录代码实现1.准备一个规范的接口2.准备一个需要被代理的接口实现类3.准备一个用来完成JDK动态代理的代理功能的类4.测试分析其实现过程1.反编译2.初步查看反编译代码细看JDK动态代理的执行过程代码实现1.准备一个规范的接口public interface IGamePlayer

2021-01-21 17:17:29 185

原创 关于HashMap源码的部分笔记

此文是HashMap一部分源码的阅读笔记,如有理解错误,望各位大神指正:文章目录基础预备知识静态变量HashMap类中的静态变量HashMap类中的静态内部类先看Node再看TreeNode再看KeySet再看Values再看EntrySet属性看put方法基础预备知识HashMap,无序存储,线程不安全,存储数据的结构是数组+链表:先根据key计算出对应的HashCode值,再根据key的hash值与数组长度算出这个key在存储数组里对应的下标,2.1. 若这个下标对应的数组位置没有数据,则

2021-01-20 16:07:46 104 1

原创 JAVA的深拷贝

简单的属性值的复制只能实现浅拷贝a.obj = b.obj的方法,对于对象中的引用类型并不能真正的拷贝过来,只是复制其引用对象的地址到新的对象中通过序列化实现深拷贝父类/** * 汽车类 */public class Car { public int height; public int weight; public Date outDay;}将被引用的类/** * 轮胎类 */public class LunTai implements Serial

2021-01-19 16:31:20 103

原创 用ThreadLocal实现伪线程安全的单例--注册式单例的容器式实现

实现代码/** * @program: easystart * @description:在线程内包装单例的安全,但线程之间不保证--伪线程安全 * @create: 2021-01-18 20:16 */public class ThreadLocalSingleton { /** * 构造方法私有化 */ private ThreadLocalSingleton(){} /** * 通过ThreadLocal保证线程内安全

2021-01-18 23:00:12 159 1

原创 注册式单例--容器法

通过map来模仿spring中的容器public class ContainerSingleton { /** * 构造方法私有化 */ private ContainerSingleton(){} /** * 容器:用来存储对象 */ private static Map<String,Object> ioc = new ConcurrentHashMap<String, Object>();

2021-01-18 19:58:09 177 2

原创 单例模式的枚举实现->最安全的单例

枚举实现单例是最安全的单例实现方式实现代码准备枚举类/** * 注册式单例第一种:枚举式单例 */public enum EunmSingleton { INSTANCE; private Object data; public static EunmSingleton getInstance(){return INSTANCE;} public Object getData() { return data; } publ

2021-01-18 16:57:26 248 2

原创 单例模式的内部类实现

内部类实现->避免了加锁,是性能最优的实现方法** * 静态内部类的单例模式 * 性能最优 */public class LazyInnerClassSingleTon { /** * 私有化构造方法 */ private LazyInnerClassSingleTon(){} /** * 全局访问点 */ public static final LazyInnerClassSingleTon getInstanc

2021-01-18 09:48:56 1007 3

原创 在property文件中使用相对路径

在property文件中使用相对路径,自动适应win和linux原来的书写global.storage.file.path.image = D:\work\xxxx\resources\image结构在centos下运行时,出现了这个情况:于是决定改为相对路径global.storage.file.path.image = ${user.dir}//image修改后在win10能够正常上传图片,位置如图在centos下运行后,image的位置为...

2020-10-16 11:40:39 648

原创 oracle学习笔记--快速入门

【注】本笔记是看完黑马视频后的学习笔记1. 创建1.1.创建表空间Create tablespace mytable –创建一个名为mytable的表空间Datafile ‘c:\myraclefiel.dbf’ –数据存放位置Size 100m –表空间大小为100mAutoextend on –自动扩展大小Next 10m; –每次拓展10m1.2. 删除表空间Deop tablespace mytable1.3.创建用户Create user mjn –

2020-09-11 14:33:34 758

原创 Mysql中索引的使用

什么是索引是按照用户任意指定的字段对数据排序的一种数据结构(默认主键即索引)1.innodb引擎–使用b+树自动对索引排序1.1.主键索引插入时会自动排序,所以插入慢,查询快SELECT * FROM t1;.explain SELECT * FROM t1 WHERE a=6;//查询索引是否使用2.b+树2.1.完全二叉树–AVL树2.2.b+树【注】b+树一个节点里可以有多个元素,从而降低树的高度,减少磁盘读取次数在sql中,b+树的叶子节点存的是具体数据,非叶子节

2020-07-19 11:48:11 135

原创 解决阿里云部署dubbo+zookeeper和生产者时使用内网IP的问题

问题复现zookeeper放置在阿里云服务器A,生产者放置在阿里云服务器B,消费者放置在本地的idea里面,启动消费者时出现问题:找不到生产者具体内容为:com.alibaba.dubbo.remoting.RemotingException: client(url: dubbo://172.17.244.206:20886/com.books.service.VipService?anyhost=true&application=springboot-dubbo-anno-consume

2020-07-13 12:22:30 932

原创 dubbo+springboot分模块项目发布为jar包的方法

1.错误复现项目结构如下一开始,直接对生产者进行打包,但打包到一半出错2.正确办法从错误信息可以看出,是service的几个依赖包在本地仓库中没有找到,所以需要【按照依赖顺序】打jar包:service依赖于api,api依赖mapper,mapper依赖common,common依赖entity。所以打包顺序为:entitycommonmapperapiservicecenter-web(里面放置的是controller)3具体操作3.1.打entity的jar包先cle

2020-07-11 17:58:40 577

原创 springboot+Filter+redis的配置出现空指针问题解决

问题复现在springboot用Filter+redis做token验证,但在拦截后连接redis时始终出现空指针异常,判断为RedisTemplate没有注入,报错如下原始代码为:@WebFilter(filterName = "Myfilter",urlPatterns = "*.do")@Order(1)@CrossOrigin(origins = "*",maxAge = 3600,allowedHeaders = "*")public class Myfilter implemen

2020-07-09 18:47:20 1160

原创 Java-通过Socket套接字实现客户端-服务端通信

服务器端package day325;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.net.ServerSocket;import java.net.Socket;public class Server { //指定服务端...

2020-03-25 15:01:18 601

原创 Java-IO-利用字节流实现文件拷贝功能

通过以下代码,成功将E:\abc.pdf拷贝到项目目录下的file文件夹下的bcd.pdfpackage day324;/* * 将本地文件拷贝到项目文件夹 */import static org.junit.Assert.*;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputS...

2020-03-25 10:00:27 283

原创 Java-多态的理解--向上、向下转型

多态:指一个对象有多种形式的能力,即:相同的行为,不同的实现。【注】:当对象调用方法或者属性时,先去检查父类中饭是否存在此方法或者属性,如果不存在则会报错,如果存在,对象调用的属性或者方法是子类(出现重写)重写后的方法。1.向上转型:byteint,子类—>父类,自动转2.向下转型:intbyte,父类子类,强制转,注意有可能出现问题,所以最好先判断Instanceof:...

2020-03-17 14:21:56 86

原创 Java练习:10人循环报数(从1到3报数),凡报到3的人退出,最后留下谁

//{1,2,3,4,5,6,7,8,9,0}第一轮的淘汰为:{0,0,1,0,0,1,0,0,1,0}import java.util.Arrays;public class Work105 { public static void main(String[] args) { // TODO Auto-generated method stub int[] arr={1,2,3,4...

2020-03-06 18:30:21 1446

原创 HTML基础——表单的只读和隐藏、label

form表单中input中加上readonly或disabled共同点:后,其数据均不可修改不同点readonly:只读,提交时会带走数据disable:只读,且提交时不会带走数据<form action="#" method="get"> <input type="text" name="dg" value="agage" disabled>...

2020-02-15 16:17:17 972

原创 HTML基础——a标签与iframe联动

iframe框架示例frameborder:边框scrolling:滚动条<iframe src="https://www.baidu.com" width="500" height="500px" frameborder="0" scrolling="yes" name="ken" > &...

2020-02-15 10:51:28 2163 1

原创 javascrip基础

基础常识1.js可以写在页面任意位置2.js区分页面上下顺序3.js的代码放分割通过换行或者;实现,但是开发中还是用分号比较好。4.逻辑判断| 代表或者(或)的意思,或者表示任中一个返回结果为true,那么最终的结果就为true true | true 结果true 对应 1 true | false 结果true 对应 1 false ...

2020-01-07 15:24:15 200

原创 CSS基础——css语法与选择器优先级

css语法<style> 选择符1{ 属性: 值 ; 属性: 值 ; ….. ;}</style>举个例子,对所有a标签进行css处理<style> a {text-decoration: none} a:visited{color: #1e6b8b} a:hover{ color: crimson; ...

2020-01-03 21:54:44 132

原创 HTML基础——表单form

form表单标签——开始一个表单属性设置:method = (post, get )action = JavaScript或者URL或者一个servelt(表单的提交目标地址)name = 表单名字input——收集用户输入内容属性设置:type = (text , password, submit , reset , button , radio, checkbox , image...

2020-01-03 13:35:08 200

原创 HTML基础知识——表格标签

table表格table表示一个表格区域caption表示表格的标题tr表示一行th表示表格的列名(即通常的表格第一行用th,尽量少用)td表示表格内一个单元格内的内容示例:<table bgcolor="red" align="center" border="1"> <caption>培训人员名单</caption> ...

2020-01-02 16:15:06 164

原创 HTML基础知识——图片、列表标签

【以下html中属性的修改了解即可,都可以用CSS代替】html中加载图片——img单标签<img src="一般情况下写图片文件的相对路径" 其他属性设置>包含的属性有:align、alt、width、height...相对路径:./xxx/xxx.jpg列表标签(都是双标签)有序列表——olli:列表项<ol>买东西 <li&gt...

2020-01-01 19:33:17 196 1

原创 HTML的第一篇——基础的标签1(文件与文本标签)

HTML文件基础结构<html> <head> <title>测试网页</title> </head> <body> <!--这是一段注释--> <p>这是一段文字</p> </body></html>BODY 文件主体标记的属性设置bg...

2020-01-01 16:42:27 260

转载 c语言中的枚举——类似于宏,却更简洁

枚举是一种类型,通过它可以定义枚举变量比如:enum week{ Mon = 1, Tues, Wed, Thurs, Fri, Sat, Sun }枚举和宏其实非常类似:宏在预处理阶段将名字替换成对应的值,枚举在编译阶段将名字替换成对应的值。我们可以将枚举理解为编译阶段的宏。【注意】!枚举列表中的 Mon、Tues、Wed 这些标识符的作用范围是全局的(严格来说是 main() 函数...

2019-04-28 10:41:58 1025

转载 C语言的二维数组指针——与指针数组完全不同哦!

二维数组指针重点在于指针定义和指针对地址的操作这两点上!下面这个程序和程序下面的文字可以较好的体现#include <stdio.h>int main(){ int a[3][5] = { {0, 1, 2, 3,6}, {4, 5, 6, 7,8}, {8, 9, 10, 11,9} }; int (*p)[5];//此处不能去除括号!否则就不再是指向某个数...

2019-04-26 16:40:23 1955

转载 C语言的函数指针——指向函数的指针,与指针函数的意思完全不一样哦!

函数也是存放在一段连续的地址空间的!与数组相似,子函数也是存放在一段连续的地址空间,所以子函数也可以通过访问函数名(等同于访问数组名)调用,这种方法称为函数指针。具体方法为:把函数的这个首地址(或称入口地址)赋予一个指针变量,使指针变量指向函数所在的内存区域,然后通过指针变量就可以找到并调用该函数。以下例子可以较为清晰的说明:#include <stdio.h>//返回两个数...

2019-04-26 15:16:30 373

转载 C语言中的多级指针

多级指针其实就是在一个地址对应的空间里存放着另一个地址,通过地址一次次跳转,最终找到存着真实数据的那个地址,并通过***p3找到了地址a里面的数据——200指针变量也是一种变量,也会占用存储空间,也可以使用&获取它的地址。C语言不限制指针的级数,每增加一级指针,在定义指针变量时就得增加一个星号*。p1 是一级指针,指向普通类型的数据,定义时有一个*;p2 是二级指针,指向一级指针 p1,...

2019-04-26 14:47:48 159

转载 C语言中的指针函数——返回指针的函数

当C语言中子函数的返回值是一个指针(地址)时,我们将这个子函数称为指针函数#include <stdio.h>#include <string.h>//这个子函数的*strlong是返回了return的首地址对应的数组。//因为子函数返回的是一个指针,所以子函数名称需要定义为指针格式char *strlongchar *strlong(char *str1, c...

2019-04-25 18:28:39 2453

转载 指针在函数传递数组时的运用

如果希望在函数内部操作数组,必须传递数组指针此代码表示了数组在函数间传递的方法,通过在子函数内修改数组数值,更明显表示了传入的是数组地址#include <stdio.h>int max(int *intArr, int l)//intArr接受一个传入的地址,等价于int *a = &b;{ //*intArr接收到数组地址后,intArr即为数组第一个元素所在地址...

2019-04-25 16:31:15 7706

转载 利用C的指针在子函数进行变量交换

原理在不使用全局变量的情况下,用指针变量作函数参数可以将函数外部的地址传递到函数内部,使得在函数内部可以操作函数外部的数据,并且这些数据不会随着函数的结束而被销毁。错误方法:#include <stdio.h>void swap(int a, int b){ int temp; //交换变量内的数据 temp = a; a = b; b = temp;}int...

2019-04-25 16:03:25 348

原创 python操作sqlite3数据库操作基础

数据库操作基础连接到数据库,如果没有,自动创建获取游标SQLite自带一个表建表向表中填入数据一次插入多条数据提交操作查询关闭连接连接到数据库,如果没有,自动创建import sqlite3path_name = 'xiaoxiang.db'conn = sqlite3.connect(path_name)#连接到数据库,如果没有,自动创建获取游标cur = conn.cursor(...

2019-03-08 16:02:58 154

原创 如何使用“裁剪”,在Arcmap中取出你想要的地图部分的数据

arcmap:【裁剪】的使用准备好原始数据集(要切的‘肉’)准备好要裁剪的shp文件(切‘肉’的‘刀’)接下来开始裁剪准备好原始数据集(要切的‘肉’)这里我使用的是来自MODIS的h26v05的NDVI数据准备好要裁剪的shp文件(切‘肉’的‘刀’)我想要取出NDVI里四川地区的数据,所以需要准备好一个四川的省图(在添加数据时,记得把他们的坐标系要和数据框的坐标系一直)接下来开始裁剪...

2018-12-18 14:19:47 30810 3

川渝地区shp文件

川渝地区shp文件,可用arcgis直接打开,可用于基于行政区域的各种栅格文件的裁剪

2018-12-26

空空如也

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

TA关注的人

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