自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CrazyIdeas的博客

个人网站:www.harlearn.com

  • 博客(54)
  • 资源 (2)
  • 收藏
  • 关注

原创 Java基础之接口回调,传递具体对象的方式,传递lambda表达式的方式,传递引用的方式

随笔,笔记回调,是一种常见的设计模式,可以 指定某个特定事件发生时应该采取的动作。在一些编程语言中,将这个动作通过函数的方式传入,而Java是采用传对象的方式,将动作传递给特定的类。看看代码样例:public class TestCallback { public void testMethod(int n, CallBack callBack){ // 根据 n 是否大于10来 执行不同的动作 if (n > 10){ ca.

2020-08-24 23:41:24 684

原创 Java中的线程池,实现原理,线程池的创建,饱和策略,阻塞队列

笔记,读《Java并发编程艺术》的笔记,里面夹杂了一些自己的理解,可能不是很准确,建议阅读原著。合理使用线程池的好处降低资源消耗。降低了频繁创建和销毁造成的消耗。提高响应速度。不必等待线程创建,而是立即执行。提高线程的可管理性。线程池的实现原理首先判断核心线程池里是否都在执行任务。如果不是,就创建一个新的线程来执行任务;如果是,就将任务添加到队列中;如果队列满了,就在线程池中 创建一个新的线程来执行任务;如果线程池也满了,就交给饱和策略来处理任务。从上文中,我们知道线程池里面有一个小的.

2020-08-17 10:44:25 273

原创 并发编程基础之Volatile关键字的应用

笔记,读《Java并发编程的艺术》的笔记。本文中除了读书笔记之外,里面还夹杂着一些自己的理解,可能有理解不到位的地方volatile是轻量级的synchronized,它在多处理器开发中保证共享变量的可见性。可见性是当一个线程修改一个共享变量时,其他线程可以读到这个修改的值。volatile不会引起线程上下文的切换和调度。CPU的术语定义内存屏障: 是处理一组处理器指令,用于实现对内存操作的顺序限制。缓冲行: 缓存中可以分配的最小存储单位。原子操作: 不可中断的一个或一系列操作。缓存.

2020-08-11 19:58:41 158

原创 Java基础之通过反射 获取Class 对象,获取对象中的字段,方法,构造函数。

随笔,笔记能够分析类能力的程序称为反射。可以用来:在运行时分析类的能力。在运行时查看对象。实现通用的数组操作代码。利用 Method 对象,这个对象很像 C++ 中的函数指针。Class 类一个 Class 对象将表示一个特定类的属性。获取 Class 对象 的方式:// 利用 对象 的 getClass 方法获得ReflectTest test = new ReflectTest(10);Class a = test.getClass();// 通过完整类名 和 使用 .

2020-08-11 10:51:33 985

原创 Java基础之垃圾回收机制基础知识,CMS垃圾收集器和G1收集器

垃圾回收机制为什么要了解垃圾回收机制和内存分配?当需要排查各种内存溢出、内存泄露问题时,当垃圾收集器成为系统达到更高并发量的瓶颈时,我们就必须对这些 自动化(垃圾回收)技术实施必要的监控和调节。如何判断对象是死是活?引用计数器算法:在对象中添加一个引用计数器,每当有一个地方引用它时,计数器加一;当引用失效时,计数器值减一;任何时刻计数器为 零就是不可能被使用的。原理简单,判定高效产生循环引用问题。A->B->C->A 这样 计数器永远不为 零。可达性分析算法:通过称为

2020-08-04 13:24:45 202

原创 Java基础之Fork-Join 框架、信号量、障栅(屏障)、同步队列、交换器、倒计时、同步器常用类

随笔,笔记Fork-Join 框架fork-join 可以将一个任务分解为 多个子任务。适用于 密集型计算。提供了两个抽象类:RecursiveTask<T>:计算会生成一个类型为 T 的结果。RecursiveAction:计算不会生成结果。实现 这个两个抽象类的其中一个,并 重载 compute 方法来生成并调用 子任务。public class Counter extends RecursiveTask<Integer> { private int.

2020-07-30 16:03:12 229

原创 Java语言编写一个html整理的工具,实现按照title分类并且放入子目录,相同的放在一起

随笔,笔记导入 依赖<dependencies> <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.13.1</version> </dependency></dependencies>分类代码.

2020-07-29 16:02:44 225

原创 Java基础之线程池的作用、常用的几种线程池、线程池演示代码、控制任务组及演示代码

随笔,笔记线程池如果程序中创建了大量的声明周期很短的线程,可以考虑使用线程池。线程池中的线程在执行完成任务后,不会死亡,而是等待执行下一次任务。线程池,可以减少并发线程的数目。执行器,有许多静态工厂方法 构建线程池。newCachedThreadPool:如果有空闲线程可用,就立即执行任务;若没哟空闲线程可用,则创建一个新线程。newFixedThreadPool:构建一个 固定大小的线程池。 如果有空闲线程,就执行任务;没有空闲线程就将任务放到 队列中。newSingleThr.

2020-07-29 13:06:49 141

原创 Java基础之Callable、Future、FutureTask

随笔,笔记Callable是与 Runable类似的一个接口,它支持参数化,只有一个方法 call。public interface Callable<V> { /** * Computes a result, or throws an exception if unable to do so. * * @return computed result * @throws Exception if unable to compute a re.

2020-07-28 23:04:31 124

原创 Java基础之线程安全的集合、原子更新、并发的批操作、写数组拷贝、Arrays的并行、Collections将集合转换为安全集合

随笔,笔记Java为我们提供了 线程安全的集合,如ConcurrentHashMap,ConcurrentSkipListMap,ConcurrentSkipListSet,ConcurrentLinkedQueue,在java.util.concurrent 包里,允许并发地访问数据结构的不同部分来使冲突 最小。使用 遍历来求 集合的大小,当数量庞大时,需要使用 mappingCount() 方法,转换为 long 返回。集合返回的是弱一致性的迭代器:迭代器不能够 确切保证,反映出构造时候的所.

2020-07-28 14:27:29 322

原创 Spring之Spring Data JPA的学习笔记

随笔延迟加载,随着我们的对象关系变得越来越复杂,有时候我们并不希望立即获取完整的对象间关系。延时加载 允许我们只在需要的时候获取数据。预先加载,与 延迟加载是相对的。借助于预先抓取,我们可以使用一个查询获取完整的关系对象。级联,在更新数据库中的表会同时修改其他表。在 Spring 中使用 Hibernate:Hibernate 所需要的主要接口是 Session,它提供了基本的数据访问功能,如保存、更新、删除以及从数据库加载对象的功能。获取 Hibernate Session 对象通过 .

2020-07-27 17:14:30 134

原创 Spring之 通过 JDBC 连接数据库、插入数据、查询数据、命名参数查询

随笔 ,笔记导入依赖:<dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId></dependency><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-.

2020-07-26 18:41:27 306

原创 Spring之通过JNDI查找的数据源、通过 JDBC 驱动程序定义的数据源、使用 Profile 选择数据源

随笔,笔记为了避免 持久化的逻辑分散到应用的各个组件中,最好将数据访问的功能放到一个或多个专注于此项工作的组件中,这样的组件通常被称为数据访问对象(DAO)或Repository。Repository 应该以接口的方式暴露功能。好处:它使得 服务对象易于测试,应为它不与特定的数据访问实现绑定在一起。只有数据访问相关的方法才通过接口进行暴露,实现灵活的设计,并且切换持久层 对应用程序其他部分影响最小。Spring 为数据访问提供了统一的异常体系JDBC 中的 SQLException 被.

2020-07-26 15:23:20 475

原创 Spring之Spring Security 处理请求路径,自定义登录页面,退出功能,跨站请求,选定HTTP还是HTTPS

随笔,笔记在上一篇中,我们了解到可以重写 WebSecurityConfigurerAdapter 中的 三个configure() 方法对其进行详细的配置。 已经学习了一个,下面学习第二个,void configure(HttpSecurity http),对请求进行配置。@Configuration@EnableWebSecuritypublic class SecurityConfig extends WebSecurityConfigurerAdapter { @Override.

2020-07-25 16:03:54 1999

原创 Spring之Spring Security 基于LDAP的认证、引用远程服务器、嵌入式LDAP服务器、自定用户认证,自定义服务

随笔,笔记。连接上一篇基于 LDAP 的认证LDAP是 Lightweight Directory Access Protocol(轻量级目录访问协议)的缩写。找到一篇介绍LDAP的文章,不了解LDAP的可以看看@Configuration@EnableWebSecuritypublic class SecurityConfig extends WebSecurityConfigurerAdapter { // 配置 user-detail 服务 @Override .

2020-07-24 17:27:49 998 2

原创 Spring之配置Spring Security、配置Security 安全细节、基于内存的存储、基于数据的认证、自定义转码器

随笔,笔记添加依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId></dependency>Spring SecuritySpring Security 是为基于Spring的应用程序提供声明式安全保护的安全性框架,能够在web请求级.

2020-07-24 17:22:56 371

原创 Spring之配置WebFlow、流程组件、状态、转移、流程数据和作用域

随笔,读书笔记。书中作者在写这个本书时,Web Flow 还没有支持 Java 配置,所以用 xml 的方式进行讲解的。现在 Web Flow 已经支持 Java 配置了。本文 只要 学习 Web Flow 一些概念 和 思想Spring Web Flow 是一个 web 框架,适应于元素按规定流程运行的程序。配置 Web FlowWeb Flow 是在 Spring MVC 的基础上建立的,所以所有流程的请求都要首先经过 DispatcherServlet。装配流程执行器:作用: 负责创建.

2020-07-23 14:51:16 776

原创 Spring之重定向,重定向传递数据

随笔,笔记为什么使用重定向?重定向 ,可以防止用户点击浏览器的刷新按钮或后退箭头时,客户端重新执行危险的 POST 请求。Spring 借助redirect:前缀的字符串,来指导浏览器进行重定向的路径。@RequestMapping(value = "/test",method = RequestMethod.POST)public String index(@Valid User user,Errors errors){ if (errors.hasErrors()) return .

2020-07-22 14:37:58 659

原创 Spring之异常处理,自定义异常,控制器通知处理异常

随笔处理异常Spring 提供了多种方式将异常转换为响应:特定的 Spring 异常将会自动映射为指定的HTTP状态码。异常上添加 @ResponseStatus 注解,从而将其映射为某一个HTTP状态码。在方法上可以添加 @ExceptionHandler 注解,使其用来处理异常。Spring 提供的一些异常:Spring异常HTTP状态码BindException400ConversionNotSupportedException500HttpM.

2020-07-22 12:20:10 217

原创 Spring之配置 multipartResolver 解析器、上传文件、处理文件

随笔multipart格式的数据 会将 一个表单拆分为 多个部分,每个部分对应一个输入域。在一般的表单输入域中,它所对应的部分中会放置文本型数据,但是如果上传文件的话,它所对应的部分可以是二进制。配置 multipart 解析器:有两个:CommonsMultipartResolver:使用 Jakarta Commons FileUpload 解析 multiparty。StandardServletMultipartResolver:依赖于 Servlet 3.0 对 multipart.

2020-07-21 17:58:59 4799 1

原创 Java基础之线程局部变量、锁超时、读写锁、阻塞队列

随笔线程局部变量:为什么要整 局部变量呢?我的理解:局部变量 意味着 不会发生 并发的更新,只有一个线程,能够保证数据 不会遭到破坏。为每个线程都创建局部对象 ,又太浪费了。ThreadLocal 辅助类 为各个线程提供各自的实例。public void showDate(){ ThreadLocal<SimpleDateFormat> local = ThreadLocal.withInitial(()-> new SimpleDateFo.

2020-07-21 12:27:22 308

原创 Java基础之synchronized 关键字、Volatile、atomic包下 原子性

随笔有关锁和条件的关键之处:锁用来保护代码片段,任何时刻只能有一个线程执行保护的代码。锁可以管理视图进入被保护代码片段的线程。锁可以拥有一个或多个相关的条件对象。每个条件对象管理那些已经进入被保护的代码段但还不能运行线程。synchronized 关键字public synchronized void showMessage(){ }每个对象 都有一个 内部锁。调用一个 被 synchronized 修饰的方法,线程需要获得内部的对象锁。public sync.

2020-07-20 13:09:58 150

原创 Spring之Java定义DispatcherServlet、添加Filter和Servlet、web.xml定义DispatcherServlet、Java配置和web.xml配合

随笔记自定义DispatcherServlet配置定义一个类 ,继承 AbstractAnnotationConfigDispatcherServletInitializer 开始重写 里面的一些方法:重写 customizeRegistration 方法:AbstractAnnotationConfigDispatcherServletInitializer 将 DispatcherServlet 注册到 Servlet 容器中之后,就会调用 customizeRegistration().

2020-07-19 17:56:21 703

原创 Spring之视图解析器、国际化

随笔记,分类于 乱七八糟 下,读《Spring 实战4》笔记将控制器中请求处理的逻辑和视图中的渲染实现解耦是Spring MVC的一个重要特性。Spring MVC 定义一个 ViewResolver 接口。public interface ViewResolver { @Nullable View resolveViewName(String var1, Locale var2) throws Exception;}传入 视图名 和 Locale 对象,会返回 一个 Vie.

2020-07-19 14:00:28 122

原创 Java基础之锁对象、条件对象、死锁现象、编码建议

随笔记,分类于 乱七八糟 下。读《Java 核心技术卷 I》 笔记由于线程之间数据共享,当两个或两个以上的线程共同对共享数据进行存取时,容易造成 讹误 。这种情况被称为竞争条件。锁对象有两种 机制防止代码块受并发访问的干扰,一种是synchronized 关键字,另一种是ReentrantLock 类。...

2020-07-18 23:27:04 167

原创 Spring之如何 校验属性的值 详细说明

随笔记,分类于 乱七八糟 下。读 《spring 实战4》笔记Spring 表单校验spring mvc 提供了对 Java校验 api 的支持。Java校验api 定义了多个注解,将注解放到属性上,可以限制属性的值。@AssertFalse 和 @AssertTrue要求传给 属性的值 必须是 false或true。要求属性是 Boolean 类型,否则会报javax.validation.UnexpectedTypeException。@AssertTrue(message = "s.

2020-07-18 17:56:00 785

原创 简单了解 建造者模式的 大致流程,怎么回事

建造者模式工厂模式提供的是创建单个类的模式,每个类的规模不能太过庞大。当一个类的规模太过庞大时,需要对其进行分解,然后根据规则一步一步构建而成。建造者模式就可以完成这样的任务。建造者模式(Builder),将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。下面时建造者模式类图对上面类图进行简要说明,方便我们理解建造者模式。假设我们需要一个产品,比如计算机。于是定义一个计算机类,在类中说明了这台计算需要哪些部件,比如显卡,声卡等。// Product 定义 产品 需要那些东西

2020-07-17 23:01:10 148

原创 Java基础之创建一个简单线程、中断线程、线程的几个状态、线程优先级、守护线程、未捕获异常处理器

随笔记,分类于 乱七八糟 下。读《Java 核心技术卷I》笔记。多任务:在同一刻运行多个程序的能力。一个程序同时执行多个任务,每个任务称为一个线程。可以同时运行一个以上线程的程序被称为多线程程序。多进程和多线程的区别?本质区别每个进程拥有自己的一整套变量,而线程则共享数据。共享变量使线程之间的通信比进程之间通信更有效、更容易。Thread.sleep(long millis) 方法用于 暂停当前线程的活动。简单创建一个线程步骤将任务代码移到实现了 Runnable 接口的类的 run.

2020-07-17 22:21:01 162

原创 Spring MVC之请求经历的过程、搭建简单Spring MVC、Controller如何接收传值、

MVC(Model-View-Controller)模式。## 请求在Spring MVC 的一个过程1. 来自客户的请求,带有用户所要请求的内容信息。2. 第一站到达,DispatcherServlet(前端控制器),它去 查询处理器映射(handler mapping)。3. 通过 handler mapping 来确定 对应的控制器。处理器映射会根据请求所携带的URL信息来进行决策。把结果反馈给DispatcherServlet。4. 选择了适合的控制器(Controller),Dispa

2020-07-16 22:59:16 170

原创 Spring之AOP怎么回事、编写切点、创建切面、通知中的参数、对象引入新功能

AOP常用术语通知(Advice)切面的工作被称为通知。定义了切面是什么以及何时使用。Spring切面可以应用 5 种类型的通知:前置通知(Before):在目标方法被调用之前调用通知功能。后置通知(After):在目标方法完成之后调用通知。返回通知(After-returning):在目标方法成功执行之后调用通知。异常通知(After-throwing):在目标方法抛出异常后调用通知。环绕通知(Around):在被通知的方法调用之前和调用之后执行自定义的行为。连接点(Join poi

2020-07-14 17:54:44 254

原创 Spring之Bean的作用域、会话和请求的作用域、占位符,SpEL

Bean 的作用域Spring 中的Bean 默认是以单例(Singleton)的形式创建的。还有多种作用域 可以选择:单例(Singleton):在整个应用中,只创建bean的一个实例。原型(Prototype):每次注入或在ApplicationContext获取 都创建一个新的Bean实例。会话(Session):在 web 应用中,为每个会话创建一个 bean 实例。请求(Request):在 web 应用中,为每个请求创建一个 bean 实例。在应用时,使用 @Scope 注解 进

2020-07-12 23:48:47 321

原创 Spring高级装配,Profile的使用,条件化Bean,解决歧义性

随笔,分类于 乱七八糟 下。阅读于《Spring实战 4》笔记高级装配环境 与 Profile让各个 开发环境 之间切换更加方便。使用 Profile。配置 profile bean要使用 profile,你首先要将所有不同的 bean 定义整理到一个或多个profile之中,在将应用部署到每个环境时,要确保对应的profile 处于激活(active)的状态。@Configuration@Profile("dev")public class A { @Bean("a") publi.

2020-07-11 21:33:53 297

原创 Spring 自动装配,Java 配置,XML配置、混合使用

一篇 随笔记,无排版。分类于 乱七八糟 名下。来自 《Spring 实战4》的阅读笔记装配 Bean装配:创建应用对象之间协作关系的行为。spring 三种配置方案自动装配Java 配置XML 配置三种方式 可以混合使用,推荐程度,由上到下 依次降低。自动装配自动装配分为:组件扫面 : 用于 在ApplicationContext 中创建 Bean。自动装配:满足各个Bean 之间的依赖关系。代码演示@Component // 标志 此类 会被 创建为 Beanpub.

2020-07-10 22:51:38 572 2

原创 对象的影分身之术(原型模式)

原型模式在《火影忍者》中,影分身之术,是使用查克拉制造出有实体的分身,它们可以和施术者一样行动战斗,具有独立于施术者本体的意识。在软件开发中也有和影分身相似的思想就是原型模式。原型模式的核心思想是以一个已经创建的对象为原型,通过对其进行复制的方式来创建一个相似或者相同的对象。很好理解和我们常用的ctrl + c和ctrl + v差不多。下面关于原型模式的类图在Java中已经为我们提供了Prototype接口,为Cloneable接口。只需要实现Cloneable接口,覆盖clone方法。其中Clon

2020-07-10 09:05:16 190

原创 Spring 注入,AOP,装配笔记

本文 作者 就是随笔记,几乎没有排版,里面也是乱七八糟,于是把它归为乱七八糟分类。对了 这是阅读《Spring实战4》的随笔。什么是 依赖注入?DI 功能是如何实现的任何一个有实际意义的应用都会由多个类组成,这些类相互之间进行协作来完成特定的业务逻辑。通过DI 对象的依赖关系将由系统中负责协调个对象的第三方组件在创建对象的时候进行设定。对象无需自行创建或管理它们的依赖关系。构造器注入:在构造的时候把探险任务作为构造器参数传入。装配 创建应用组件之间协作的行为。spring 有 Java配.

2020-07-09 23:42:36 151

原创 聊聊单例模式的多种实现方式(Java)。

单例模式,可以保证你在系统的任何地方使用的实例都是同一个,也就是一个类只能创建一个实例,这样可以节省内存资源、保证数据内容的一致性。单例模式(Singleton)定义,保证一个类仅有一个实例,并提供一个访问它的全局访问点。下面是类图单例模式的思想就是保证类只有一个实例,所以剩下的问题就是利用编程语言的一些特性来实现这种思想。下面了解Java语言如何保证这种思想的。在Java中所有类都有构造方法,不显示定义构造方法,系统会提供一个默认的构造方法,若有显示定义的构造方法,默认的构造方法就会失效。所以为了

2020-06-30 18:00:08 172

原创 抽象工厂模式是怎么回事?

抽象工厂模式工厂方法模式只能满足生产同种产品的需求,如果有要创建多种产品的需求就需要使用抽象工厂模式了。抽象工厂模式(Abstract Factory),提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。下面通过类图了解一下抽象工厂模式是如何在工厂方法模式的基础上进行修改的。通过类图我们可以了解到,抽象工厂模式其实就是在工厂方法模式的基础上添加了另一类产品,并且在抽象工厂中添加了创建对应商品的方法。这样每个具体的工厂就可以生产多种产品了。由于只是在工厂方法模式的基础上添加了一个

2020-06-28 18:46:55 3221

原创 简单了解工厂方法模式

工厂方法模式工厂方法模式(Factory Method)是创建型模式,定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。也是对简单工厂模式的改进。简单工厂模式的主要缺点出现在工厂类,工厂类在创建产品对象时不唯一,需要通过条件判断的方式来选择对应的产品类。所以在添加新的产品时,需要把对应的创建条件添加到工厂类中,造成工厂类违背开闭原则。工厂方法模式针对其缺点进行了改进,让工厂只创建一个产品,每个具体产品对应不同的工厂,并对每个工厂进行抽象,建立抽象工厂,这样使用

2020-06-27 15:36:28 255

原创 一篇介绍简单工厂模式的文章

简单工厂模式简单工厂模式可理解为对封装思想的应用,就是当你创建一个对象时,不要让两个类之间直接对话,而是通过第三方转发调用。这个第三方被称为工厂。如下图:符合封装思想就会获得它的优点,降低了Client类和ConcreteProduct类之间的耦合度,也提高了类的复用率。但是当我们能用到工厂类的时候,一般都是创建多个产品。所以我们还要利用依赖倒置原则对多个产品进行抽象归类,如下图就是基础的简单工厂模式。上图中,我们对多个产品进行了抽象,形成Product接口。并对工厂类进行了改进,可以根据自己的需

2020-06-23 19:37:51 327

原创 设计模式预备思想

今天起开始更新关于《设计模式》的文章,《设计模式》就是前辈们根据自己的代码设计经验,对软件开发过程中一些不断重复的问题,提出了相应的解决方案。提高了代码的可重用性、可读性和可靠性。经典的设计模式总共有23种,根据其目的性可以划分为创建型模式、结构型模式和行为型模式 3种。下表就是对其的具体划分:分类描述具体模式创建型模式用来说明怎样创建对象单例模式原型模式工厂方法模式抽象工厂模式建造者模式结构型模式如何将类或对象按某种布局组成更大的结构代理模式适配器模式桥接模式装饰模式

2020-06-22 12:15:54 172

JavaParseHtml.zip

Java语言编写一个html整理的工具,实现按照title分类并且放入子目录,相同的放在一起。Java 练习的一个简单 Demo

2020-07-29

住房公积金管理系统——筹集子系统

使用Eclipse/IntelliJ IDE为开发工具,Rational Rose或ProcessOn为建模工具,利用MySQL为数据库服务器,以Tomcat为Web服务器,基于JSP和Mybatis框架技术,分析、设计并实现一个住房公积金管理系统——筹集子系统,主要包括相关客户信息(单位开户、个人开户、单位资料修改、个人资料修改)管理、变更业务(封存、启封、比例变更、基数变更)、缴存登记入账(汇缴、补缴)、提取及销户(提取、个人注销、单位注销)、业务查询、凭证打印等业务。

2020-07-09

空空如也

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

TA关注的人

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