2020年7月23日

java面向对象(上)-- 面向对象的概念

摘要: 面向对象: 面向对象是一种符合人类思维习惯的编程思想。现实生活中存在各种形态不同的事物,这些事物之间存在着各种各样的联系。在程序中使用对象来映射现实中的事物,使用对象的关系来描述事物之间的联系,这种思想就是面向对象。 面向对象主要由三大特性: 封装 继承 多态 封装性: 封装是面向对象的核心思想,将 阅读全文

posted @ 2020-07-23 15:53 北林日记 阅读(156) 评论(0) 推荐(0) 编辑

2020年7月8日

java多线程--死锁问题

摘要: 有这样一个场景:一个中国人和一个外国人在一起吃饭,美国人拿了中国人的筷子,中国人拿了美国人的刀叉,两个人开始争执不休: 中国人:“你先给我筷子,我再给你刀叉!” 美国人:“你先给我刀叉,我再给你筷子!” ........... 结果可想而知,两个人都吃不到饭。这个例子中的中国人和美国人相当于不同的线 阅读全文

posted @ 2020-07-08 19:20 北林日记 阅读(276) 评论(0) 推荐(0) 编辑

java多线程--多线程同步

摘要: 为何要实现同步 java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查), 将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用,从而保证了该变量的唯一性和准确性。 同步代码块 即有synchronized关键字修饰的语 阅读全文

posted @ 2020-07-08 16:38 北林日记 阅读(213) 评论(0) 推荐(0) 编辑

MyBatis--动态SQL(bind的用法)

摘要: bind标签可以使用OGNL表达式创建一个变量并将其绑定到上下文中。 在前面的UserMapper.xml有一个selectByUser方法,这个方法用到了like查询条件。 使用concat函数连接字符串,在MySQL中,这个函数支持多个参数,但在Oracle中支持两个参数。由于不同数据库之间的语 阅读全文

posted @ 2020-07-08 12:32 北林日记 阅读(6240) 评论(0) 推荐(0) 编辑

2020年7月7日

Java多线程--线程的调度

摘要: java虚拟机会按照特定的机制为程序中的每个线程分配CPU的使用权,这种机制被称为线程的调度。 在计算机中,线程调度有两种模型,分别是分时调度模型和抢占式调度模型。 分时调度模型: 指让所有的线程轮流获得CPU的使用权,并且平均分配每个线程占用CPU的时间片。 抢占式调度模型: 让可运行迟中优先级高 阅读全文

posted @ 2020-07-07 14:56 北林日记 阅读(868) 评论(0) 推荐(0) 编辑

2020年7月5日

Java多线程--线程的生命周期及状态转换

摘要: 在Java中,任何对象都有生命周期,线程也不列外。当Thread对象创建完成,线程的生命周期就开始了。当run()方法中代码正常执行完毕或者线程抛出一个未捕获的异常(Exception)或者错误(Error)时,线程的生命周期便会结束。线程整个生命周期可以分为五个阶段,分别是新建状态(New)、就绪 阅读全文

posted @ 2020-07-05 21:14 北林日记 阅读(936) 评论(0) 推荐(0) 编辑

Java多线程--两种实现方式

摘要: 进程概述: 在这之前,有必要了解一下什么是进程? 在一个操作系统中,每个独立的执行的程序都可称为一个进程,也就是“正在运行的程序”。如图所示: 线程概述: 如上所述,每个运行的程序都是一个进程,在一个进程中还可以有多个执行单元同时运行,这些执行单元可以看做程序的执行的一条条线索,被称为线程。操作系统 阅读全文

posted @ 2020-07-05 14:58 北林日记 阅读(637) 评论(0) 推荐(0) 编辑

2020年7月2日

MyBatis--动态SQL(foreach的用法--实现动态update)

摘要: 当参数类型是Map时,foreach是如何实现动态update? 需要通过指定的列名和对应的值去更新数据,实现SQL如下: 该SQL在UserMapper接口中的方法如下: 测试代码输出日志如下: 上面示例中,collection使用的是默认值_parameter,也可以使用@Param指定参数名字 阅读全文

posted @ 2020-07-02 16:16 北林日记 阅读(4246) 评论(0) 推荐(0) 编辑

MyBatis--动态SQL(foreach的用法--实现批量插入)

摘要: 如果数据库支持批量插入,就可以通过foreach来实现。 在UserMapper接口中增加如下方法: 在UserMapper.xml中添加如下SQL: 针对该方法编写如下测试: 测试结果: 阅读全文

posted @ 2020-07-02 14:48 北林日记 阅读(2149) 评论(0) 推荐(0) 编辑

2020年7月1日

MyBatis--动态SQL(foreach的用法--实现in集合)

摘要: 在使用foreach的时候最关键的也是最容易出错的就是collection属性,该属性是必须指定的,但是在不同情况下,该属性的值是不一样的,主要有一下3种情况: 如果传入的是单参数且参数类型是一个List的时候,collection属性值为list . 如果传入的是单参数且参数类型是一个array数 阅读全文

posted @ 2020-07-01 23:07 北林日记 阅读(3452) 评论(0) 推荐(1) 编辑

导航