![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
后端
cdmt
超然淡泊
展开
-
【Bug】-Intellij IDEA运行报Command line is too long
报错内容:Error running 'ServiceStarter': Command line is too long. Shorten command line for ServiceStarter or also for Application default configuration.解决办法:修改项目下 .idea\workspace.xml,找到标签 <compo...原创 2020-02-24 10:27:15 · 253 阅读 · 0 评论 -
Java-基础-正则表达式
简介:Java中Spring.class涉及到正则表达式。如Spring.split(), matches(),replaceAll()等方法。 Java中更一般使用正则表达式的方式是利用Pattern.class和Matcher.class,所在package为java.util.regex 难点:如何正确编写正则表达式。正则表达式:Java中正则表达式与之前使用的Python是有...原创 2019-10-31 11:42:09 · 1560 阅读 · 0 评论 -
Spring-框架-AOP
AOP:程序运行时,动态的将代码切入到指定类的指定位置去。面向对象和面向切面的关系:面向切面思想不是为了取代面向对象编程思想,而是对面向对象编程缺陷的补充。AOP作用:用于将横穿业务逻辑中的重复代码和核心业务分离,将分离出横穿代码动态植入到核心业务中,从而进一步增强系统扩展性,降低组件耦合度。AOP应用:Authentication 权限 Caching 缓存 Co...原创 2019-10-23 15:33:25 · 135 阅读 · 0 评论 -
Java-8新特性-通过Stream获取两个List复杂对象的交并差集
思路:首先获取两个list的id,通过id比较获取id的交并差集,再通过一次获取list对象里面的交并差集元素代码直接可运行,个人觉得java8的stream非常类似ES6的集合运算,filter、foreach、map、reduce基本可以一一对应代码:package com.stream;import java.util.ArrayList;import java.util...原创 2019-10-23 14:33:55 · 15319 阅读 · 0 评论 -
Spring-框架-代理机制与AOP
代理机制:java的一种设计模式,通过提供对目标对象另外的访问方式,即通过代理对象访问目标对象。代理对象是对目标对象的功能扩展,即不在修改目标对象代码的情况下增强功能。代理模式中三种角色: 抽象角色:目标对象和代理对象共同的父接口(继承或实现) 目标(真实)角色:代理角色所代表的真实对象,是最终要引用的对象 代理角色:代理角色内部含有对真实对象的因哟用,从而可以操...原创 2019-10-22 13:35:07 · 105 阅读 · 0 评论 -
Spring-框架-ClassUtils类isAssignable方法
Spring的isAssignable方法源码:isAssignable方法位于spring的org.springframework.util工具包的ClassUtils类中下源码: /** * Check if the right-hand side type may be assigned to the left-hand side * type, assuming se...原创 2019-10-18 12:57:41 · 3662 阅读 · 0 评论 -
Spring-框架-BeanUtils类使用与源码分析
BeanUtils使用介绍:BeanUtils是spring自带一个对象适配器,主要作用是在VO、DTO转换时候使用,比如如下代码: /** * 将FincrmOrganizationMechanism适配成OrganizationSetDTO * * @param organizationMechanism * @return *...原创 2019-10-18 11:22:47 · 747 阅读 · 0 评论 -
Spring-框架-bean生命周期回调方法注解
生命周日回调方法:bean的生命周期: init():初始化方法 destory():销毁方法对应的注解:@PostConstruct:注解用在方法上,用于bean初始化之后的行为方法init(){}@PreDestroy:注解用在消费方法上面,在bean消费之前调用该注解方法destroy(){}代码:packa...原创 2019-10-17 17:14:56 · 382 阅读 · 0 评论 -
Spring-框架-spring注解的引入和使用
Spring注解的引入:使用注解配置文件applicationContext.xml头先引入注解的命名空间:xmlns:context="http://www.springframework.org/schema/context http://www.springframework.org/schema/context ...原创 2019-10-17 14:22:16 · 825 阅读 · 0 评论 -
Spring-框架-依赖对象自动装配
通过autowire自动装配通过byName自动装配:代码:package com.spring.autowire;import com.spring.dao.UserDao;/** * @ClassName: AutowireService * @Description: TODO **/public class AutowireService { priv...原创 2019-10-17 11:13:52 · 95 阅读 · 0 评论 -
Spring-框架-Bean的普通数据装配
通过spring配置文件,将javaBean的普通属性值进行注入。spring通过属性编辑器(PropertyEditor)自动进行属性转换普通类型:代码package com.spring.connection;/** * JavaBean普通属性值的装配,数据库连接类 * @ClassName: ConnectionPool **/public class Conne...原创 2019-10-16 17:15:29 · 111 阅读 · 0 评论 -
Spring-框架-Bean的生命周期
Spring Bean的生命周期: bean容器的生命周期是由spring容器管理的,也可以手动管理 可以在bean的配置文件中定义bean的初始化方法和销毁方法 调用了初始化放翻,但是没有调用销毁方法,这是因为需要有一个注册勾子的jvm申明配置文件: <bean id="userDao" class="com.spring.dao.UserD...原创 2019-10-16 12:39:05 · 129 阅读 · 1 评论 -
Spring-框架-Bean的作用域
Spring容器的作用域: spring2.5之前: singleton:单例bean,整个spring ioc容器里面只创建一个bean实例 prototype:原型bean,每次调用都会创建一个实例 spring2.5之后: singleton:单例 prototy...原创 2019-10-15 17:27:45 · 98 阅读 · 0 评论 -
Spring-框架-DI和IoC
DI:依赖注入,在一个java类中需要依赖另外一个类,通过spring容器在需要的时候把这个类注入到里面 运行时期,通过外部程序注入。一般是调用者创建被调用者的实例。现在创建被调用者的功能交给spring容器,然后注入到调用者里面。IoC:控制反转,以以前实例化一个类通过new实现,现在把这种主动实现对象的操作交给spring容器创建实例 降低类和类之间的耦...原创 2019-10-15 10:36:24 · 79 阅读 · 0 评论 -
Spring-框架-开发流程(简单demo)
流程:创建maven项目 添加依赖 创建spring核心配置文件applicationContext.xml 通过spring创建javabean对象的容器 通过spring容器创建javabean对象创建maven项目:pom.xml文件:<?xml version="1.0" encoding="UTF-8"?><project xmlns=...原创 2019-10-14 17:36:04 · 177 阅读 · 0 评论 -
Java-反射应用-两条数据属性对比工具类
实现两条数据所有属性对比工具类两两对比和批量对比方法注解:为了获取中文字段名称@Target(ElementType.FIELD)@Retention(RetentionPolicy.RUNTIME)public @interface ColumName { String value();}对比属性类:package HistoryDiffUtil...原创 2019-09-26 16:52:45 · 751 阅读 · 0 评论 -
Spring-框架-介绍
spring 轻量级开源框架: spring:java项目 spring mvc: java web框架 spring boot: 集成框架 spring jpa spring cloud:云框架,微服务框架 spring security:安全框架spr...原创 2019-10-10 11:30:05 · 120 阅读 · 0 评论 -
Java-序列化-Serializable
序列化与反序列化:序列化的原理与作用:序列化:把对象转换为字节序列的过程称为对象的序列化。 反序列化:把字节序列恢复为对象的过程称为对象的反序列化。什么时候会产生序列化:当你想把的内存中的对象状态保存到一个文件中或者数据库中时候; 当你想用套接字在网络上传送对象的时候; 当你想通过RMI传输对象的时候;(实话就是内存中数据需要传输时)建立一个序列化UserBean类...原创 2019-10-10 17:00:38 · 98 阅读 · 0 评论 -
Java-类加载器-加载时机
什么时候会出发类加载器?创建类的实例为了验证类加载,我们先配置一个JVM参数-XX:+TraceClassLoading 监控类的加载在IDE配置如下:代码:package com.cdmt.java.annotation.historyhandler;/** * * @ClassName: ClassLoadInstance **/public ...原创 2019-09-25 11:32:20 · 442 阅读 · 0 评论 -
Java-设计模式-Singleton 单例模式(懒汉方式和饿汉方式)
单例模式的概念:单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。关键点:一个类只有一个实例 这是最基本的 它必须自行创建这个实例 它必须自行向整个系统提供这个实例两种实现方式:1 懒汉模式(类加载时不初始化)package Singleton;public class Lazy...原创 2019-09-25 11:10:46 · 173 阅读 · 0 评论 -
Python-爬虫-请求数据-request.Request类
关于request.Request类:代码:from urllib import request# 拼接请求头headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537....原创 2019-08-21 17:21:27 · 393 阅读 · 0 评论 -
Python-爬虫-请求数据-url解析urlparse和urlsplit
urlparse和urlsplit函数:from urllib import parse###########1.urlparse解析函数# url例子url = 'http://sports.sina.com.cn/basketball/nba/2019-08-21/doc-ihytcitn0830846.shtml'# 解析urlresult = parse.urlp...原创 2019-08-21 17:04:35 · 671 阅读 · 0 评论 -
Python-爬虫-请求数据-urlretrieve函数
urlretrieve()函数:获取网页数据并保存本地源码# urlretrieve()函数读取请求数据并保存下来from urllib import request# 获取搜狗网页并保存成html文件request.urlretrieve('https://www.sogou.com/','sougou.html')# 获取搜狗图片并保存成jpg文件reques...原创 2019-08-21 14:25:45 · 377 阅读 · 0 评论 -
Python-爬虫-请求数据-urlopen函数
urlopen函数:源码# urlopen()函数# 导入urllib库的request包from urllib import request# 使用request包的urlopen方法get方式访问网页获取数据resq = request.urlopen('https://www.sogou.com/')# 把获取的数据读取出来并打印print(resq.read(...原创 2019-08-21 14:11:00 · 606 阅读 · 0 评论 -
Anaconda安装jieba、wordcloud等第三方库
官网下载jieba的zip文件:1)打开Anaconda Prompt;2)输入指令cd users\administrator\Anaconda3\pkgs\jieba-0.39(即进入jieba-0.39所在位置);3)输入python setup.py install,回车即可(可通过pip list查看是否安装成功)官网下载wordcloud的whl文件:1)打开An...原创 2019-08-12 14:47:00 · 804 阅读 · 1 评论 -
Java-List去掉重复对象
一、去除List中重复的String Set<String> set = new LinkedHashSet<>(); set.addAll(list); list.clear(); list.addAll(set);或使用Java8的写法:List<String> list = list.stream().distinc...原创 2019-08-20 13:53:54 · 832 阅读 · 0 评论 -
Python-爬虫-请求数据-requests库介绍和get方法
requests库的安装和文档地址:requests库是用python编写requests基本请求get原创 2019-08-22 17:19:14 · 130 阅读 · 0 评论 -
Java-注解annotation
什么是注解:之后使用反射机制获取注解的值信息Java内置常用3个注解:首先使用@interface关键字定义注解@Override 重写注解重写注解 @Override会按注解指令 覆盖 父类中的一个类,如果没有覆盖就会报编译错误源码:@Target(ElementType.METHOD)@Retention(RetentionPolicy.SOURCE)...原创 2019-08-27 09:53:56 · 90 阅读 · 0 评论 -
Java- 并发-Unsafe
关于Unsafe类:在java并发相关的源代码学习中,有一个类经常出现,这个类就是位于sun.misc包中的Unsafe类。比如,属于Java并发包中最重要的类之一的AbstractQueuedSynchronizer中就经常调用这个类的方法。Unsafe类是一个很低级别的类,执行低级别的不安全的操作。所以使用的时候要小心,只有那些获得信任的代码才能调用。为什么说它是比较低级的呢?因为它能...原创 2019-09-25 09:58:37 · 151 阅读 · 0 评论 -
Java-内存地址的计算方法
内存是按字节编址的,所以单位是字节哈,1字节可是等于8位的。因为计算的范围一般比较小,所以就记住两个就够了。记住几个常用的2的10次方为1024即1KB2的20次方=(2的10次方)的平方,即1MB就行了如果要求更大的,那就再记住2的40次方=(2的10次方)的3次方=1GB,一般就够用了。DFFFF-A0000 = 3FFFF一眼看不出来大小滴,或许你要用笔算,不过用这个方法两眼就能看出...原创 2019-09-24 09:12:28 · 842 阅读 · 0 评论 -
Java-Java 编程思想(On Java 8)-第一章对象的概念
面向对象编程(Object-Oriented Programming OOP)是一种编程思维方式和编码架构。抽象:面向对象的五大基本特征:万物皆对象。你可以将对象想象成一种特殊的变量。它存储数据,但可以在你对其“发出请求”时执行本身的操作。理论上讲,你总是可以从要解决的问题身上抽象出概念性的组件,然后在程序中将其表示为一个对象。 程序是一组对象,通过消息传递来告知彼此该做什么。要请...原创 2019-09-23 09:50:50 · 126 阅读 · 0 评论 -
Java-反射-获取注解信息
代码:package com.cdmt.java.annotation.historyhandler;import java.lang.annotation.*;import java.lang.reflect.Field;/** * 反射操作注解 **/public class Test11 { public static void main(String[] ar...原创 2019-09-20 10:59:18 · 417 阅读 · 0 评论 -
Java-反射-调用泛型信息
代码:package com.cdmt.java.annotation.historyhandler;import java.lang.reflect.Method;import java.lang.reflect.ParameterizedType;import java.lang.reflect.Type;import java.util.List;import java.u...原创 2019-09-20 10:20:03 · 139 阅读 · 0 评论 -
Java-反射-性能消耗
代码:package com.cdmt.java.annotation.historyhandler;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;/** * 反射性能消耗 **/public class Test09 { public stati...原创 2019-09-20 10:17:26 · 742 阅读 · 2 评论 -
Java-并发-乐观锁与悲观锁
乐观锁:只有提交更新的时候加锁总是假设最好的情况,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号机制和CAS算法实现。乐观锁适用于多读的应用类型,这样可以提高吞吐量,像数据库提供的类似于write_condition机制,其实都是提供的乐观锁。在Java中java.util.concurrent.atomic包下面...原创 2019-09-18 16:52:03 · 90 阅读 · 0 评论 -
Python-爬虫-数据存储-Json格式
Python数据存储主要有4种方式: Json:网络交互 Csv:数据分析 Excel:数据分析、决策层 数据库(MySql):都行Json字符串:Python和Json字符串的转化:代码:import jsonbooks = [ { "name": "三国演义", "pr...原创 2019-09-11 10:44:31 · 872 阅读 · 0 评论 -
Python-爬虫-处理数据-BeautifulSoup4
bs4与lxml的区别:解析工具对比:bs4:解析速度最慢,使用难度最简单lxml:解析速度中,使用难度中正则:解析速度快,使用难度难BS4使用:获取补全的DOM树from bs4 import BeautifulSouphtml = """ <html><head><title>The Dormouse...原创 2019-09-04 11:56:08 · 124 阅读 · 0 评论 -
Java-反射reflection
动态语言:是一类在运行时可以改变其结构的语言,例如新的函数、对象、代码可以被引进,已有的函数可以被删除或是其他结构上的变化。通俗说就是在运行时可以根据某些条件改变自身结构。例如:Object-c, C#, JS,PHP, Python等静态语言:反之,运行时不可以改变其结构。Java不是标准动态语言,但是可以称为准动态语言,因为Java可以通过反射达到动态效果,但是也会损失一定...原创 2019-08-28 14:41:34 · 87 阅读 · 0 评论