![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 65
陵先生的笔记本
这个作者很懒,什么都没留下…
展开
-
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 · 7069 阅读 · 7 评论 -
装饰器模式
属于结构型模式。目的是在不改变原有对象的基础上,将功能附加到对象上,提供了比继承更加有弹性的替代方案(拓展原有对象的功能)示例比如买煎饼这个事情,如果不使用装饰器,只是简单的使用继承,会需要用到很多类纯煎饼类如果不使用装饰器/** * 煎饼类 */public class BetterCake { /** * 名字 * @return String */ protected String getMsg(){ return "煎饼原创 2021-01-27 15:52:16 · 143 阅读 · 0 评论 -
模板模式
给定一个指定的流程(即模板),在这个指定流程下,又流出一定的可由用户选择的分支(即钩子)。用户在大体的流程上都必须按照模板进行,但在某个分支小点可以有自己选择的权利。示例准备一个规范的流程:一个抽象类public abstract class NetWorkCourse { //创建一个课程的规范化流程模板 protected final void creatCrouse(){ //1.发布预习资料 this.postPreResource();原创 2021-01-26 16:38:56 · 176 阅读 · 0 评论 -
策略模式
策略模式:避免多分支(即避免if、switch)示例准备一个标准抽象类/** * 优惠策略接口 */public interface PromotionStrategy { public void doPromotion();}准备多种优惠策略的实现类/** * 没有任何优惠-原价 */public class EmptyStrategy implements PromotionStrategy{ @Override public void doPromot原创 2021-01-25 17:15:28 · 173 阅读 · 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 · 97 阅读 · 2 评论 -
代理模式之cglib动态代理
前文说到了JDK动态代理,是基于接口和Proxy实现的动态生成代理类,本文继续研究cglib动态代理,据说是基于继承实现的动态生成代理类。第一步:先不管具体理解,按照cglib代理的代码流程实现一个案例;第二部:根据这个案例去理解cglib动态代理目录代码实现初步分析总之:【注】cglib有个坑:代码实现准备一个被代理者/** * @program: easystart * @description: 被代理的类 * @author: 陵先生 * @create: 2021-01-20原创 2021-01-22 10:40:59 · 150 阅读 · 0 评论 -
代理模式之动态代理->JDK动态代理
代理就是对某一个类进行非入侵式的增强,即在其执行前后执行某些逻辑。静态代理此处跳过,本文主要讨论JDK动态代理。第一步:先不管具体理解,按照JDK代理的代码流程实现一个案例;第二部:根据这个案例去理解JDK动态代理目录代码实现1.准备一个规范的接口2.准备一个需要被代理的接口实现类3.准备一个用来完成JDK动态代理的代理功能的类4.测试分析其实现过程1.反编译2.初步查看反编译代码细看JDK动态代理的执行过程代码实现1.准备一个规范的接口public interface IGamePlayer原创 2021-01-21 17:17:29 · 192 阅读 · 0 评论 -
关于HashMap源码的部分笔记
此文是HashMap一部分源码的阅读笔记,如有理解错误,望各位大神指正:文章目录基础预备知识静态变量HashMap类中的静态变量HashMap类中的静态内部类先看Node再看TreeNode再看KeySet再看Values再看EntrySet属性看put方法基础预备知识HashMap,无序存储,线程不安全,存储数据的结构是数组+链表:先根据key计算出对应的HashCode值,再根据key的hash值与数组长度算出这个key在存储数组里对应的下标,2.1. 若这个下标对应的数组位置没有数据,则原创 2021-01-20 16:07:46 · 105 阅读 · 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 · 110 阅读 · 0 评论 -
用ThreadLocal实现伪线程安全的单例--注册式单例的容器式实现
实现代码/** * @program: easystart * @description:在线程内包装单例的安全,但线程之间不保证--伪线程安全 * @create: 2021-01-18 20:16 */public class ThreadLocalSingleton { /** * 构造方法私有化 */ private ThreadLocalSingleton(){} /** * 通过ThreadLocal保证线程内安全原创 2021-01-18 23:00:12 · 166 阅读 · 1 评论 -
注册式单例--容器法
通过map来模仿spring中的容器public class ContainerSingleton { /** * 构造方法私有化 */ private ContainerSingleton(){} /** * 容器:用来存储对象 */ private static Map<String,Object> ioc = new ConcurrentHashMap<String, Object>();原创 2021-01-18 19:58:09 · 185 阅读 · 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 · 250 阅读 · 2 评论 -
单例模式的内部类实现
内部类实现->避免了加锁,是性能最优的实现方法** * 静态内部类的单例模式 * 性能最优 */public class LazyInnerClassSingleTon { /** * 私有化构造方法 */ private LazyInnerClassSingleTon(){} /** * 全局访问点 */ public static final LazyInnerClassSingleTon getInstanc原创 2021-01-18 09:48:56 · 1024 阅读 · 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 · 665 阅读 · 0 评论 -
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 · 865 阅读 · 0 评论 -
解决阿里云部署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 · 952 阅读 · 0 评论 -
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 · 602 阅读 · 0 评论 -
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 · 1196 阅读 · 0 评论 -
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 · 609 阅读 · 0 评论 -
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 · 288 阅读 · 0 评论 -
Java-多态的理解--向上、向下转型
多态:指一个对象有多种形式的能力,即:相同的行为,不同的实现。【注】:当对象调用方法或者属性时,先去检查父类中饭是否存在此方法或者属性,如果不存在则会报错,如果存在,对象调用的属性或者方法是子类(出现重写)重写后的方法。1.向上转型:byteint,子类—>父类,自动转2.向下转型:intbyte,父类子类,强制转,注意有可能出现问题,所以最好先判断Instanceof:...原创 2020-03-17 14:21:56 · 98 阅读 · 0 评论 -
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 · 1470 阅读 · 0 评论