自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 WPFdatagrid结合comboBox

在WPF的DataGrid中希望结合使用ComboBox下拉框,达到下拉选择绑定的效果,在实现的过程中,遇到了一些奇怪的问题,因此记录下来。

2023-10-09 22:36:42 1644

原创 C# 通过反射以及动态调用方法

有时候需要通过反射以及动态调用的办法去调用已知的实例的方法,感觉还是挺巧妙的。以下主要记录通过反射以及动态的调用方法。总结:在已知方法的情况下,还是动态调用比较方便,但是要注意异常处理,毕竟这属于特殊情况,编译执行前不会给提示的。

2023-09-26 22:14:20 355

原创 Daemon线程(守护线程)

知识点总结:线程分为用户线程与守护线程;虚拟机在没有用户线程下会退出;守护线程不一定执行完完整内容,这取决于用户线程的存在与否;设置守护线程,一定要在线程启动start之前进行设置;不能在启动之后设置;Java普通运行是两个线程,一个主线程,一个GC线程;GC线程是守护线程;《java并发编程的艺术》中提到,daemon线程是一种支持型的线程,主要用于程序的后台调度以及支持性工作,意味着在没有非Daemon线程的情况下,Java虚拟机将会退出。通过使用Thread.setDaemon(tru

2021-07-03 10:22:28 973

原创 8255芯片实现7段LED显示器

题目是:软件:Proteus、emu8086在最小系统和译码电路的基础上,学习使用8255芯片。开关设置的二进制信息由B口输入,经程序转换成对应的七段LED段码后,通过A口输出,由七段LED显示开关二进制的状态值。注:若B口读入的值为0000,则LED显示器将显示0,以此类推,若B口读入的值为1111,则LED显示器将显示F。预期效果:思路:就是通过B端口进行数据输入,然后通过A端口进行输出,1-4排成从低到高的二进制数,然后再通过根据输入具体数据找到相对应A端口中7个引脚的输出关系,从而达到

2021-05-21 21:11:02 5718 1

原创 (6) zero prefix must be added to a HEX value, for example: 0Ch

在emu8086中编写代码的时候,遇到了如标题这样奇怪的问题,具体的编码如下:;输出端口DigitalLED DB 40H,F9H,24H, 30H, 19H,12H,2H,78H,0H,10H,8H,0H,46H,40H,6H,EH然后编译的时候就遇到问题,结果去网上查了一下,查不到解决方案,就连问题解释都模糊不清;最后的解决方案:在数据前面没有0的加个0,如EH变成0EH;8H变成08H;就可以正常编译通过了;...

2021-05-21 09:13:58 1199 1

原创 IDEA插件安装推荐

感觉IDEA在添加一些插件之后,使用起来真的非常不一样,也可以提高效率;Alibaba Java Coding Guidelines 阿里巴巴开发规范,平时可以提醒开发者命名规范,代码规范,使用起来还是特别可以的,毕竟符合规范的代码风格有利于团队合作,也更加赏心悦目;Background Iamge Plus可以对于IDEA的背景进行设置,毕竟个人觉得设置一个自己喜欢的背景,会更加有动力,真的不是特别喜欢全黑的感觉;可以到IDEA插件官网直接查找下载,然后安装好之后重启;如果在view下

2021-04-03 13:18:55 134

原创 Leetcode——(剑指offer)从上到下打印二叉树 II与|||,双队列实现

本文是记录做该类题的一些思想,效率不算特别高,只是提供一些新的想法;在LeetCode的剑指offer篇章中,有三个特别近似的打印二叉树的题目,分别是:(1)剑指Offer 32 - I 从上到下打印二叉树(2)剑指 Offer 32 - II 从上到下打印二叉树 II(3)剑指 Offer 32 - III 从上到下打印二叉树 III三道其实都是BFS;第一道可以通过创建一个队列实现,利用队列的FIFO实现,将结点从队列取出后,如果子节点非空,就将其子节点放入队列尾部,反复如此,就可以

2021-03-17 23:27:51 80

原创 Java中的并发工具类

Java中的并发工具类1. CountDownLatchjoin用于让当前执行线程等待join线程执行结束。实现原理是不停检查join线程是否存活,如果存活则让当前线程永远等待;线程中止后,线程notifyAll()会被调用(JVM)中实现; public static void main(String[] args) throws InterruptedException { final int n = 6; //计数为6 CountDownLat

2021-03-12 10:23:00 108

原创 Integer对象缓存机制

不止是Integer,Long,Float等都存在对象缓存机制,比如Integer的缓存值在于-128——127,如果使用自动装箱,则在这个范围内的对象引用是相等;但如果是new出来的,因为是新开创空间,即使是在这个范围内,也是不相等的;测试如下: Integer a = 500; Integer b = 500; Integer c = 127; Integer d = 127; Integer e = new Integer(127)

2021-03-05 17:08:58 477

原创 CAS与AtomicInteger自增操作

CAS:compareAndSet,对比然后赋值;AtomicInteger中的: /** *this:操作对象 *valueOffset:对象值偏移地址 *expect:预期值 *update:更新的值 */ public final boolean compareAndSet(int expect, int update) { return unsafe.compareAndSwapInt(this, valueOffset, exp

2021-03-05 16:25:17 1063

原创 利用反射机制修改构造器的权限

通过反射,可以获取并修改构造器的权限;定义一个懒汉模式;//懒汉模式class LazyMan{ private volatile static LazyMan instance = null; private LazyMan(){ } public static LazyMan getInstance(){ if(instance == null){ synchronized(LazyMan.class){

2021-03-04 21:37:03 238 1

原创 map的遍历

有时候经常用到map的KV对,但是在遍历的时候经常忘记如何去实现,所以做一个笔记,留作后面的回顾; public static void main(String[] args) { String msg = "can you can a can as a can canner can a can."; Map<Character, Integer> str = new HashMap<Character, Integer>(); f

2021-02-15 21:25:13 92

原创 GO环境配置的一些问题

在早先学习安装go的时候,遇到一些问题,特地总结出来,以备后面重新安装配置时出现同样的问题时可以参考一下;安装的是1.15.8.windows-amd64.msi安装版本除了选择安装路径外,其它的都是直接点下一步进行安装就好了;我选择安装的路径是:G:\Program Files\Go安装完成之后,你会发现在cmd下直接输入go version,就直接可以显示内容了,个人认为这是msi安装版的原因,它会默认帮你配置一些路径问题;最关键的path与gopath在环境变量配置中可以看到如下的情况

2021-02-13 17:55:59 794

原创 java中的可变参数

java1.5之后加入了可变参数,主要是适用于类型确定,但是参数的个数不确定的情况下;在初始学习到这个可变参数的时候,由于书本上讲解到的内容比较少,一直觉得这个可变参数没有太大作用与数组[]没有太大区别的,毕竟在方法体中,该参数也要看成数组来解决,那和数组有什么区别?完全有些鸡肋啊在学习jedis的使用的时候,突然想到mset()方法传入多值时,使用的是逗号分开,而不是数组传入的方式;这时间脑子中就想到了可变参数;查看源码,果然是可变参数变长参数可以通过逗号隔开然后之后进行尝试,才发现原来所.

2020-12-05 21:00:28 147

原创 java内存区域

基于《深入理解JAVA虚拟机》第三版的第二章学习总结:目录2.1 运行时数据区域2.1.1 程序计数器2.1.2 虚拟机栈2.1.3 本地方法栈2.1.4 java堆2.1.5 方法区2.1.6 运行时常量池2.1.7 直接内存2.2 对象分配、布局、访问全过程2.2.1 对象创建2.1 运行时数据区域2.1.1 程序计数器程序计数器可以看做线程所执行的字节码的行号指示器,字节解释器工作就是通过改变计数器的值选取下一条需要执行的字节码指令;关键点:1.各线程私有2.唯一一个不存在内存溢出的区

2020-12-01 21:41:36 74

原创 MVC5+EF6+MYSQL插入中文变成???问号

最近在学习C#用MVC5+EF6,连接MYSQL进行操作;在后边的博客中学习到了基本的连接方式:VS2019+MVC+EF6-CodeFirst 连接MySQL;插入中文变成???问号然后在测试中发现,插入含有中文的数据,查出来的时候变成了问号???第一反应就是编码问题,然后在连接字符串中加上了Charset=utf8;之后测试发现问题依旧;然后想到一个思路,就是如果用Navicat操作数据库插入中文字段,...

2020-11-21 13:50:15 148

原创 jasypt加密敏感配置信息出现Encryption raised an exception

最近在程序羊哥的一篇文章中,学习到用jasypt加密spring boot中一些敏感的配置信息,如数据库的连接密码等;1.导入包 <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <ver

2020-11-11 00:24:35 5303

原创 Springboot导入Lombok,创建对象时set与get方法没有提示补全(IDEA中)

问题描述:创建对象后找不到set与get方法的自动提示补全在使用spring boot创建项目时,导入Lombok包,之后在类中引入注解@Data希望能自动生成set与get方法,之后在创建对象时,发现自动补全提示找不到set与get方法,十分难受如下图所示:提示中没有set方法:(get一样)之后尝试重启IDEA、更换@Data成@Getter@Setter以及重新创建项目,发现问题依旧;而之后尝试在settings下的plugins中导入Lombok插件后重启IDEA:发现问题解决了,提

2020-10-22 21:25:16 1827 2

原创 创建自定义文件模板mybatis-config.xml时的一些问题

由于在创建mybatis的配置文件时经常需要去复制一些相关内容,为了方便之后的使用,所以选择创建一个mybatis-config的自定义模板;需要配置进入的模板内容<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">&

2020-10-07 11:31:29 226

原创 SpringBoot学习笔记

配置文件加载位置,及优先级配置文件加载位置:springboot启动会扫描以下位置的application.properties或则application.yml文件作为Springboot的默认配置文件-file:./config/ (主目录下的config文件下)-file:./ (主目录下)-classpath:/config/ (resource文件夹下的config文件夹)-classpath:/ (resource文件夹下)以上按照优先级从高到低的顺序,所有位置的文件都会被

2020-09-09 10:06:46 82

原创 MyBatis学习笔记——查询返回值为HashMap、鉴别器的运用

目录查询返回HashMap介绍sql语句编写样式查询返回HashMap介绍介绍:有时候就想通过HashMap返回sql查询的值,然后最近也终于学到了设置返回类型为HashMap类型,如何建立sql语句以及接口方法的书写问题;sql语句编写样式 <select id="queryStudentByHashMap" parameterType="int" ...

2020-03-06 16:30:10 3014

原创 学习笔记——Mybatis中插入字段为null问题

之前一直使用mysql,然后执行sql语句时,如果插入的字段是Null, 可以正常执行(没有设置约束),但换成oracle之后,同样的语句执行却会出现报错的情况,后来发现是MyBatis对于默认值处理的问题;在mybatis的文档中有以下介绍:就是当你的sql语句中赋值的某个字段为NULL空值时,则MyBatis默认值为OTHER,但是mysql能处理OTHER当成NULL,所以mysq...

2020-03-06 01:41:51 3864

原创 MyBatis增删改获取返回值

由于增删改的sql语句中并没有ResultMap和ResultType,所以不能返回数据,但有时候我们需要它返回增删改的结果,可以在接口XXXMapper.java中修改获得;可以返回的类型有:void,Integer,Long,Boolean以上的包装类,使用相应的基本也对可以转换,不过JDK1.5以上在接口XXXMapper.java修改需要有返回值的方法://StudentMap...

2020-03-05 15:19:20 1113

原创 本学期学习内容整体回顾

本学期的学习总结SSM框架学习在学习SSM的顺序路线是MyBatis到Spring再到Spring MVC;Mybatis:基础配置环境;conf.xml文件编写以及学习数据库配置信息以及功能(全局环境编写、单个及批量别名设置、)Mapper.xml实现增删改查(输入输出参数及对齐方法,一对多、多对一关联、迭代的类型)接口式编程的实现,类型转换器,日记的开启,一级缓存...

2019-12-26 10:05:59 175

原创 SpringMVC学习笔记( 一 ——基本配置)

SpringMVC介绍:Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框架,如Struts1(现在一般不用...

2019-12-04 22:46:45 183

原创 IDEA学习SpringMVC遇到错误:The content of element type "web-app" must match "..的解决方案建议

个人在利用IDEA创建maven项目学习SpringMVC的时候,出现了web.xml报错:The content of element type “web-app” must match “(icon?,display-name?,description?,distributable?,context-param*,filter*,filter-mapping*,listener*,ser...

2019-12-01 12:35:08 1056

原创 Spring学习日记(五 ——Spring与Mybatis的整合)

目录前言前言在学完Spring之后,回顾之前学习的MyBatis,然后就想到Spring可以整合MyBatis进行开发。而在使用MyBatis的时候,可以发现conf.xml的文件中最为主要的配置有两个,一个是数据库连接信息的配置,还有一个是Mapper.xml文件的导入配置,之后就是其它全局配置和别名设置等等了;而通过Reader类创建对象read读取到conf.xml的配置信息://...

2019-11-21 12:00:41 163

原创 Spring学习日记(四——注解式通知、schema通知)

目录注解通知基本实现的思路:从普通类到注解通知一些相关的解释异常通知、环绕通知、最终通知schema通知schema通知实现的思路:基本实现过程Sping中不只是IOC有注解,而AOP通知同样可以使用注解来实现,注解的实现可以更加快速便捷实现通知功能,所以为了更加快速地实现功能,使用注解也是应该要掌握的。然后jar与笔记三中的一样。除了注解通知之外,还有一个比较实用的实现通知的方式,那就是s...

2019-11-17 16:29:00 696

原创 Spring学习笔记(三--AOP基本及通知)

目录AOP介绍一些相关的名词AOP基本配置简单的前置通知实现:表达式expression常见示例AOP介绍AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。它是OOP的延续,利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开...

2019-11-17 01:45:21 145 1

原创 Spring学习笔记(二——依赖注入)

目录不同属性注入特殊值的注入各种集合类型的属性注入(DI)依赖注入的四种方式使用注解定义bean(之后再补上)不同属性注入依赖注入:将属性值 注入给了属性,将属性 注入给了bean,将bean注入给了ioc容器;假如是八种基本类型+String,赋值时用value="值"或< value>值< /value>即可;如果是类成员对象则使用ref=“相应bean的...

2019-11-07 10:27:46 168

原创 Spring学习笔记(一)

Spring框架Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。◆目的:解决企业应用开发的复杂性◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能◆范围:任...

2019-11-06 22:54:41 79

原创 Mybatis的一级缓存、二级缓存

查询缓存在开启了log4j日记的基础上,可以更加清楚地观察到Mybatis一级缓存以及二级缓存的过程。所以在了解一级缓存和二级缓存之前请先开启Mybatis的log4j日记。或者熟悉断点调试的,也可以通过断点调试进行查看。对于查询缓存作用的认知:Mybatis提供查询的一级缓存和二级缓存,用于减轻数据库压力,减少因为多次执行相同sql语句时造成频繁的对数据库的操作,提高数据库的性能;而将查询...

2019-10-23 21:13:12 283

原创 Mybatis开启log4j日记

1

2019-10-22 12:53:20 257

原创 Mybatis的逆向工程

Mybatis的逆向工程前言:在一开始学习Mybatis的时候,先是建立数据库表,然后根据数据库表建立相应的JavaBean文件,还要建立相应的mapper映射和接口,在建立mapper文件的时候,还要注意namespace要对应相应的接口全类名;而mapper.xml中还要手动添加增删改查的SQL语句,而接口中方法的命名、返回值、输入参数等还要有和映射文件保持一致,假如遇到要建立多个数据库表...

2019-10-10 10:49:21 260

原创 Mybatis基本环境配置、别名、输入输出参数

Mybatis可以简化JDBC的操作,实现数据的持久化,并通过建立类对象与数据库表对应关系,更加方便操作数据库表,实现增删改查等操作。基本环境配置一、首先要先导入两个核心jar包:Mybatis的jar包:mybatis-x.x.x jarJDBC的jar包连接数据库:jdbc.jar二、建立表-类一一对应关系和映射文件mapper.xml数据库表的属性与类中的属性一一对应。m...

2019-10-09 22:57:52 144

原创 Mybatis接口式编程的实现

接口式编程的实现具体实现步骤:基础环境:mybatis.jar/ojdbc.jar、conf.xml、mapper.xml目的:省略掉statement,直接可以定位出SQL语句建立接口有以下要求:1.方法名和mapper.xml的文件中id值要相同2.方法的输入参数 和mapper.xml文件中标签的 parameterType类型 一致致 (如果mapper.xml的标签中没有...

2019-10-07 21:05:32 160 1

空空如也

空空如也

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

TA关注的人

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