- 博客(69)
- 收藏
- 关注
原创 JUC里的各种锁
目录ReentrantLockCountDownLatchCyclicBarrierPhaserReadWriteLockSemaphoreExchangerLockSupportReentrantLock可重入锁。需要手动解锁lock 上锁**unlock ** 解锁public class Test_01_Lock { Lock lock = new ReentrantLock(); // Lock lock = new ReentrantLock(true
2020-05-23 15:28:51
539
原创 spring声明式事务
声明式事务编程式事务使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用TransactionTemplate。声明式事务是建立在AOP之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务。声明式事务最大的优点就是不需要通过编程的方式管理事务,这样就不需要在业务逻辑代码中掺杂事务管理的代码,只需在配置文件中做相关的事务规则声明
2020-05-11 23:57:47
238
原创 Spring JdbcTemplate的使用
Spring JdbcTemplate 在spring中为了更加方便的操作JDBC,在JDBC的基础之上定义了一个抽象层,为不同类型的JDBC操作提供模板方法,每个模板方法都能控制整个过程,并允许覆盖过程中的特定任务,通过这种方式,可以尽可能保留灵活性,将数据库存取的工作量讲到最低。需要导入数据库相关的pom依赖 <dependency> <groupId>com.alibaba</groupId> &
2020-05-11 21:56:12
266
原创 使用xml的方式配置aop
使用xml的方式配置aop需要在xml文件头添加命名空间xmlns:aop="http://www.springframework.org/schema/aop" http://www.springframework.org/schema/aop https://www.springframework.org/schema/aop/spring-aop.xsd"有些麻烦 <bean id="logUtilg" class="com.mashibing.util.Log
2020-05-11 21:55:37
218
原创 spring AOP的介绍和使用
spring AOP的介绍和使用AOP的核心概念及术语使用spring的aop注解注解的execution表达式通知方法的参数@PointCut封装表达式@Around环绕通知面向切面编程:AOP面向的主要对象是切面,在处理日志、安全管理、事务管理等方面有非常重要的作用。AOP是Spring中重要的核心点,通俗点说的话就是在程序运行期间,将某段代码动态切入到指定方法的指定位置进行运行的这种编程方式。静态代理:代理类必须要实现和被代理类相同的接口。动态代理:只需要使用reflect包下Proxy类,传入
2020-05-11 19:16:06
394
原创 spring IOC的注解使用
目录一、使用注解的方式注册bean二、定义扫描的包时要包含的类三、@Autowired注解四、泛型依赖注入一、使用注解的方式注册bean添加到类上,用于注册bean的注解注解名标识@Component组件@Controller放在控制层@Service放在业务逻辑层@Repository放在数据访问层以上任意一个注解都可以完成注册bean的功能,不会对注册有影响。只是用于提高可读性。在注解没有定义id时,默认是以类名的首字母小写默认是单
2020-05-11 13:41:07
255
原创 Spring的IOC的配置和使用
Ioc从容器中获取对象// applicationContext:表示Ioc容器的入口,想要获取对象的话,必须要创键该类。该类读取配置文件有两个实现类// ClassPathXmlApplicationContext表示从classPath中读取// FileSystemXmlApplicationContext表示从当前文件系统读取数据 ApplicationContext context = new ClassPathXmlApplicationContext("i
2020-05-11 12:23:29
173
原创 Vue的组件学习
目录组件使用组件通信父组件给子组件传值:子组件给父组件传值:兄弟组件传值组件使用程序中经常出现功能类似且重复的结构,就可以利用组件进行开发。Vue当中组件分为两种:局部组件、全局组件局部组件必须在compoents里面进行注册使用template定义模板(可以是属性值定义,也可以用template标签)使用的时候当中一个自定义标签即可注意组件名字不能是以后标签名字,驼峰标识的转 -局部组件只能在根组件里使用,也不能嵌套使用。全局组件可以在任意地方使用。注册的时候必须要放在局部组件注册之
2020-05-10 11:07:55
214
原创 VUE框架基本使用
目录Vue常用指令v-textv-showv-ifv-forv-onv-modelv-bindwatch监听属性Vue生命周期Vue使用AJAX是一套用于构建用户界面的渐进式(JavaScript)框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合Vue它是一个JavaScript框架,源码都封装到了一个尾缀为JS这样一样的文件里面。需要导入源码。使用npm下载npm install vue导入vue.m
2020-05-10 11:04:06
568
原创 初始node平台
Node平台是一款软件(并不是一门语言),可以让JS在这个软件上运行。安装http://nodejs.cn/ 官网。下载安装包,无脑下一步。安装4样东西:js运行环境、npm工具、在线学习工具、添加环境变量node基本使用node软件可以运行JS语法,node软件只能运行尾缀为.js文件。不能是html、CSS、PHP。支持全部js语法node软件支持JS全部核心语法(ES6、7、8、9、10)node平台没有DOM、BOM概念。利用cmd窗口运行。命令: node 文件名.js
2020-05-09 23:33:56
141
原创 Ajax和JSONP跨域
目录AJAX技术简介JSONP跨域AJAX技术简介ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术。可以在不重新加载整个网页的情况下,对网页的某部分进行更新。前端中AJAX技术实现其实是由内置构造函数XMLHttpRequest构造函数实现的。但是在工作当中一般都是用JQ,因为JQ将原生AJAX技术进行封装。简单使用<body> <h1>ajax技术&l
2020-05-09 18:49:06
237
原创 jQuery初学习
jQuery是一个快速、简洁的JavaScript函数库。需要下载源码:http://www.jq22.com/jquery-info122。然后在在程序当中通过script标签引入JQ。使用选择器jQuery函数库支持各种选择器。中间带有横杠的样式 可以变为驼峰写法。支持链式语法。基本选择器**使用函数,来匹配标签∗∗。函数,来匹配标签**。函数,来匹配标签∗∗。起始就是jQuery对象 //$函数,匹配标签 console.log($("li")); //标签选择器
2020-05-09 12:45:18
149
原创 DOM和BOM
DOM文档对象节点树:静态页面骨架是由标签组成,标签之间关系很像一颗大树,简称为节点树。document:文档、页面,可以认为是整个节点树的根元素。 console.log(document);[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GVIf6lY1-1588955362186)(F:\编程学习\从零开始\javaSE复习\前端\img\document.png)]document的四个属性documentElement可以获取页面中HTML标签
2020-05-09 00:29:41
310
原创 函数、构造函数、函数上下文
函数JavaScript有一些内置函数:alert、prompt、console等。我们可以自定义函数使用: 函数名()声明函数 function fun(){ console.log("鹅鹅鹅,曲项向天歌"); console.log("白毛浮绿水,红掌拨清波"); }调用函数 fun();//函数的调用带参数的函数 function sum(a,b){//形参 console.log(a+b); } sum(2,3);//实参局部变量JavaScript中只有
2020-05-09 00:28:30
237
原创 JavaScript的数组和对象学习
目录函数数组数组的方法函数JavaScript有一些内置函数:alert、prompt、console等。我们可以自定义函数使用: 函数名()声明函数 function fun(){ console.log("鹅鹅鹅,曲项向天歌"); console.log("白毛浮绿水,红掌拨清波"); }调用函数 fun();//函数的调用带参数的函数 function sum(a,b){//形参 console.log(a+b); } sum(2,3);//实参局部变量J
2020-05-08 19:50:32
170
原创 JavaScript初学习
目录JavaScript简介简单内置函数使用数据类型变量数学运算比较运算符逻辑运算符流程控制语句条件语句循环语句JavaScript简介JavaScript在前端简称JS,JavaScript是开发web脚本语言,可以在非浏览器环境运行如node特征:可以嵌套静态页面中添加一些动态效果。组成:ECMAScript欧洲计算机协会每年6月份定时语法规范DOMDocume...
2020-05-08 12:29:25
288
原创 盒模型、定位与浮动
目录盒模型定位固定定位相对定位绝对定位浮动盒模型所谓盒模型其实任意标签都有,可以让标签向外拓展。【padding、border、margin】盒模型中padding【内边距】、border【外边框】可以让元素向外拓展。margin【外边距】和其他标签的距离。盒模型:(margin + padding + border + width + heigh)<style type="tex...
2020-05-07 23:43:46
292
原创 css样式设置
CSS【Cascading Style Sheets】全称层叠样式表。样式【CSS】用来美观页面分为三种: 内部样式, 外部样式,行内样式样式内部样式标签选择器id选择器class选择器外部样式行内样式样式属性设置背景样式内部样式需要书写在head中,利用子元素双闭合标签style标签完成语法格式:<style type=”text/css”> 标签名字{ ...
2020-05-07 23:05:51
358
原创 HTML学习
HTML(HeyperText MarkUp Language)超文本标记语言.。HTML标记语言开发的程序的时候,利用就是标签(element)进行布局页面。目录标签学习块元素1、静态页面的骨架2、常用的块元素行内元素表单元素音频视频标签学习块元素块元素的特征是:独占一行1、静态页面的骨架<!DOCTYPE html> //这是超文本标记语言第五次重大变化文档声明方式...
2020-05-07 22:28:01
279
原创 mysql锁机制
mysql锁机制1、MyISAM表级锁2、InnoDB锁innodb行锁实现方式总结mysql不同的存储殷勤支持不同的锁机制。MyISAM和MEMORY存储引擎采用的是表级锁,而Innodb及支持表级锁,又支持行级锁表级锁: 开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。1、...
2020-05-07 12:27:31
151
原创 mysql执行计划
为了知道优化sql语句的执行,需要查看sql语句的具体执行过程,以加快sql的执行。查看执行计划只需要在sql语句前添加explain执行计划中包含的信息idselect_typetabletypeextraColumnMeaningid序列号,表示查询中执行select子句或者操作表的顺序select_type类型是普通查询、联合查询、子查询table...
2020-05-06 23:54:09
146
原创 Mysql存储引擎和日志文件
目录mysql存储引擎日志系统RedoLogUndoLogBinLogmysql存储引擎mysql大体可以分为三块:客户端、服务端、存储引擎主要有三种存储引擎InnoDB :它是 MySQL 5.5 版本之后默认的存储引擎,最大的特点是支持事务、行级锁定、外键约束等。innodb默认把所有的数据文件放在表空间中,不会为每一单独的表保存一份数据文件。如果要单独使用一个文件保存,设置 set...
2020-05-06 22:44:59
222
原创 mysql索引
mysql索引索引文件的结构B树的特点:B+树索引分类索引维护索引是为了加快对数据的搜索速速。索引是schema(方案)中的一个数据库对象,与表独立存放。作用:在数据库中用来加速对表的查询,通过使用快速路径访问方法快速定位数据,减少磁盘的IO。创建方式:自动:当表上定义一个primary key 或者 unique 约束条件是,oracle数据库自动创建一个对应唯一索引。手动: 用户可以...
2020-05-06 22:39:51
141
原创 mysql的一些sql语句
目录日期查询条件判断排序截取声明变量值--查看现在的连接数show processlist日期查询--当前时间select CURRENT_TIME() ;--当前日期select current_date()--时间戳select CURRENT_TIMESTAMP()--日期格式化DATE_FORMAT(NOW(),'%Y') --获取月份MONTH(NOW(...
2020-05-06 22:38:33
214
原创 数据库连接池
数据库连接池的目的是为了减少频繁开关连接的时间,提高整个系统的响应能力。基本设置:初始大小扩容的大小最大连接个数空闲死亡时间目录DBCPC3P0DruidHikariCPDBCP属于 apache 在org.apache.commons.dbcp2。比较简单几乎没人用需要导入3个jar包commons-dbcp2-2.7.0\commons-dbcp2-2.7.0.jar...
2020-05-06 18:15:27
1098
1
原创 使用反射写jdbc的增删改查
目录查询更新利用反射和jdbc,写的可以用于任意类型的查询和更新方法。查询public List getRows(String sql,Object[] params,Class clazz){//sql,参数,对象 // 返回结果集合 List list = new ArrayList(); Connection connection=null; Prepared...
2020-05-06 13:35:26
361
原创 java反射
目录获取Class对象Class类 和 反射包 中的一些api成员属性成员方法构造方法反射是java中最强大的技术之一java反射机制是在运行状态中,对于任意一个类,都能知道这个类的属性和方法,对于任意一个对象,都可以调用它的属性和方法。这种动态获取信息以及动态调用对象的方法的功能称为java的反射机制。要解刨一个类,必须要获取该类的字节码文件对象。而解刨使用的就是Class类中的方法。所以...
2020-05-06 13:09:33
160
原创 范式、数据库表的创建、修改和约束设置
目录创建表修改表结构约束constraint创建表新建表时,指定的表名必须不存在,否则出错。/**CREATE TABLE [schema.]table (column datatype [DEFAULT expr] , … ); **/create table student(stu_id number(10),name varchar2(20),age number...
2020-05-06 10:40:22
299
原创 数据库事务
数据库事务ACID隔离级别mysql事务设置事务(transaction)是一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位,是数据库环境中的逻辑工作单位。事务是为了保证数据库的完整性。在oracle中没有事务开启的语句,一个事务起始于一条DML语句。commit(提交)表示事务成功地结束,数据库进入新的正确状态,该事务对数据库的所有更新都以交付实施。每个commit...
2020-05-06 10:20:06
123
原创 常用sql语句
常用sql语句)sql语句分类简单查询条件比较排序关联查询92语法99语法子查询删除修改插入sql语句分类DML:数据操纵语言 (增删改查DDL:数据定义语言 (VREATE、ALTER、DROP、RENAME 、TRUNCATE 表DCL:数据控制语言 权限控制简单查询-- 查询表中所有数据select * from emp;--条件查询,查询编号是10的员工se...
2020-05-06 00:30:13
442
原创 数据库视图view
视图view视图又叫虚拟表,不占用物理空间,视图只有逻辑定义,每次使用都要重新执行SQL。对使用的操作与其他的表一样,当通过视图修改数据是,实际是在改变基表中的数据。在create view语句后加入子查询CREATE [OR REPLACE] VIEW view[(alias[, alias]...)]AS subquery[WITH READ ONLY];oracle使用视图...
2020-05-05 23:07:33
190
原创 Oracle的一些sql语句
这里写目录标题计算交并差集单行函数字符函数数字类型日期类型转换函数其他函数组函数限制输出、分页练习题添加注释--给表添加注释comment on table emp is '雇员表';--给列添加注释comment on column emp.ename is '雇员姓名';查看表里的字段desc emp;计算--字符串连接符select 'my name is '||en...
2020-05-05 23:06:40
394
原创 初学oracle笔记
使用dba登录sqlplus /nolog;conn sys/密码@库 as sysdba;解锁命令alter user scott account unlock|lock;连接conn scott/tiger@orcal;要去重新输入密码,确定字节的密码。创建数据库运行Database Configuration Assistant命令行命令使用命令行登录sqlp...
2020-05-05 23:03:35
153
原创 Oracle序列
序列sequence序列是oracle专有的对象,它用来产生一个自动递增的数列/*create sequence seq_name increment by n 每次增长几 start with n 从哪个值开始增长 maxvalue n|nomaxvalue 10^27 or -1 最大值 minvalue n|no minvalue 最小值 cycle|n...
2020-05-05 23:00:34
180
原创 java注解笔记
注解Annotation是java5引入的特征。元注解:注解的注解@Target描述注解的使用范围(类、方法、属性、参数、包等等)@Retention描述注解的有效的时间(运行时、编译时、源代码)@Document注解是否包含在文档里@Inherited是否可被继承@Target({TYPE, FIELD, METHOD, PARAMETER, C...
2020-05-05 00:27:15
205
原创 lambda表达式、方法引用和Stream
目录Lambda表达式函数式接口方法引用Stream生成Stream对象的示例中间操作的实例Lambda表达式任何用函数式接口的地方都可以使用lambda表达式函数式接口:只有一个抽象方法的接口是函数式接口。(@FunctionalInterface)特点:函数式编程参数类型自动推断代码量少匿名内部类的写法Thread thread = new Thread(new Runn...
2020-05-04 23:50:02
258
原创 java网络编程
网络编程ip地址类InetAddressTCP编程UDP编程ip地址类InetAddress有两个子类Inet4Address,Inet6Address获取本机IP地址InetAddress localHost = null;try { localHost = InetAddress.getLocalHost();} catch (UnknownHostException e)...
2020-05-04 21:12:05
169
原创 线程池
线程池线程池的生命周期饱和策略阻塞队列在实际使用中,线程是很占用系统资源的,如果对线程管理不善很容易导致系统问题。使用线程池管理线程有以下好处:可以重复利用已有的线程继续执行任务,避免线程再创建和销毁是造成的消耗由于没有线程创建和销毁消耗,可以提高系统响应速度通过线程可以对线程进行合理的管理,根据系统的承受能力调整可运行线程数量的大小。线程池分类:1、ThreadPoolExecu...
2020-05-04 18:52:56
196
原创 生产者消费者问题
最简单的多线程问题使用了两种方法使用sychronized使用JUC包中的 BlockingQueue使用sychronized生产者public class Producer implements Runnable{ private Goods goods; public Producer(Goods goods) { this.goods=goods;...
2020-05-04 14:45:15
191
原创 java多线程基础
多线程Thread类Runnable接口线程的五种状态线程的基本api线程同步sychronized程序:是一个指令的集合进程:是正在运行的程序线程:轻量级进程(不同操作系统中可能不一样),一个进程中可以拥有多个线程并行执行。一个进程中的线程共享相同的内存单元。线程之间的通信是在同一地址空间上的,不需要额外的通信机制。java虚拟机启动的时候会有一个进程java.exe。该进程中至少有一...
2020-05-04 13:47:42
97
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅