Java
一只爱好编程的程序猿
莫问收获,但问耕耘
展开
-
如何实现点击图片预览pdf文档功能
最近在做项目时,遇到甲方提的一个需求,就是实现点击图片实现在线预览PDF文档的功能。于是我就在网上找了很多关于PDF文档预览功能,现在将它们整理了一下。代码参考下图:引用了npm install --save vue-pdftemplate代码如下:<template> <div class="box_con BlockBg1"> <div class="imgfm fml" @click="clickImg(1)"><img sr原创 2020-08-24 10:06:58 · 1299 阅读 · 0 评论 -
线程同步
1.Synchronized的使用方法1. 同步代码块:synchronized(对象){ //需要被同步的代码;}2. 同步方法synchronized可以放在方法声明,表示整个方法为同步方法public synchronized void show(String name){ ...}2.同步机制中的锁同步锁机制对于并发工作,你需要某种方式来防止两个任务访问相同的资源(其实就是共享资源竞争)。防止这种冲突的方法就是当资源被一个任务使用时,在其上加锁。第一个访问某项资源的任原创 2020-06-09 10:56:26 · 92 阅读 · 0 评论 -
线程的生命周期
JDK中用Thread.State类定义了线程的几种状态要想实现多线程,必须在主线程中创建新的线程对象。Java语言使用Thread类及其子类的对象来表示线程,在它的一个完整的生命周期中通常要经历如下的五种状态:- 新建:当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于新建状态。- 就绪:处于新建状态的线程被start()后,将进入线程队列等待CPU时间片,此时它已具备了运行的条件,只是没有分配到CPU资源。- 运行:当就绪的线程被调度并获得CPU资源是,便进入运行状态,run(原创 2020-06-05 15:29:14 · 97 阅读 · 0 评论 -
Thread类的相关方法
void start():启动线程,并执行对象的run()方法run():线程在被调度是执行的操作String getName():返回线程的名称void setName(String name):设置该线程的名称static Thread currentThread():返回当前线程。在Thread子类中就是this,通常用于主线程和Runnable实现类static void yield():线程让步暂停当前正在执行的线程,把执行机会让给优先级相同或更高的线程若队列中没有通优先级的线程,.原创 2020-06-04 10:56:07 · 130 阅读 · 0 评论 -
API中创建线程的两种方式
JDK1.5之前创建新执行线程有两种方法:继承Thread类的方式实现Runnable接口的方式方式一:继承Thread类定义子类继承Thread类。子类重写run()方法。创建Thread子类对象,即创建线程对象。线程对象调用start()方法:启动线程,调用start()方法。注意:如果自己动手调用run()方法,那么就是普通方法,没有启动多线程模式。run()方法由JVM调用,什么时候调用,执行的过程控制都由操作系统的CPU决定。想要启动多线程,必须调用start方法。原创 2020-06-03 13:45:38 · 463 阅读 · 0 评论 -
mybatis缓存
一、一级缓存一级缓存运行流程:第一次执行SQL语句时,查询到的数据,会在一级缓存存储SQL语句和数据,以SQL语句为key,以数据为值。在第二次查询的SQL语句时,就会先从缓存中查询,以SQL为key查询,得到数据,直接返回,如果没有相应的SQL语句,则就会去查询数据库。注意事项:1.一级缓存是默认开启的。2.在同一个SQLSession对象范围下,两次执行同一个sql语句,第二次没有...原创 2020-04-03 15:55:56 · 116 阅读 · 1 评论 -
12月2号的学习内容
一、Spring出现的历史背景1.1为什么会有Spring?Spring未问世之前,是EJB时代,EJB是什么,笔者未经历过,简而言之是一个重量级框架。Rod Johnson在2002年编著的《Expert one on one J2EE design anddevelopment》一书中批判了那个时候Java EE 系统框架,说其臃肿、低效、脱离现实,同年推出了《Expert one-...原创 2019-12-02 21:41:12 · 420 阅读 · 0 评论 -
11.29号学习内容
一、mybatis延迟加载a、什么是延迟加载1.也叫懒加载2.什么时候需要,什么时候去获取什么时候需要该数据,什么时候执行sql语句去查询b、一对一延迟加载column=“u_id”:要通过该列去查询用户的对象select:映射到了要执行的方法:接口全路径.接口方法名fetchType=“lazy”:加载的方法:lazy 延迟加载,eager:立即加载c、一对多延迟加载和一对...原创 2019-12-02 21:04:57 · 334 阅读 · 0 评论 -
11.28号学习内容
一、多表关联一对一的关系<!--resultMap="resultMap标签的id属性的值"--><select id="queryOneToOne" parameterType="String" resultMap="wifeMap"> select * from husband h,Wife w where h.hus_id=w.hid a...原创 2019-11-28 21:44:32 · 146 阅读 · 0 评论 -
11.27号的学习内容
动态代理Dao开发动态代理模式开发使用Mapper代理接口开发方式(主流)面向接口 没有实现类步骤:1.创建接口:接口的名字一定要和映射文件的名字完全一样!!!2.接口中抽象方法的名字一定要和映射文件的id属性的名字完全一样!3.如果使用了动态代理开发namespace:必须要跟接口的全路径完全一致。4.让maven工程的java源文件包下面能读取到xml文件<!--让ma...原创 2019-11-27 21:41:52 · 146 阅读 · 0 评论 -
Object类和String类
1.Object类1.1概述类Object是类结构的根。每个class都有Object作为超类。所有对象(包括数组)都实现了这个类的方法。1.2Object的构造方法public Object()1.3equals方法public boolean equals(Object obj):比较两个对象是否相同,其底层代码比较地址值与==一样。1.4重写equals方法在我们生活中一般属...原创 2019-09-25 21:41:44 · 258 阅读 · 0 评论 -
循环语句2
1.循环语句do-whiledo-while循环语句的语法格式如下,do{ 循环体}while(循环条件);注意事项:1.do-while循环以关键字do开头。2.大括号括起来的是循环体。3.最后的while关键字和紧随其后的小括号括起来的是循环条件。do-while语句的流程图如图所示。do-while语句的执行步骤如下。(1)首先执行循环体。(2)执行完毕后对循环条...原创 2019-09-12 20:11:53 · 243 阅读 · 1 评论 -
循环语句1
1循环语句while1.1循环语句概述while循环语句和选择结构if语句有一些相似,都是根据条件判断来决定是否执行大括号内的执行语句。区别在于,while语句会反复地进行条件判断,只要条件成立,{}内的执行语句就会执行,知道条件不成立,while循环结束。while循环语句的语法结构如下:while(循环条件){ 执行语句; ...}在上面的语法结构中,{}中的执行语句被称作循环...原创 2019-09-10 21:17:56 · 357 阅读 · 0 评论 -
选择结构2
1.3if…else if …else语句if…else if …else语句用于对于多个条件进行判断,进行多种不同的处理。例如,对一个学生的考试成绩进行等级的划分,如果分数大雨80分等级为优,否则,如果分数大于70分等级为良,否则,如果分数大于60分等级为中,否则,等级为差。if…else if…else语句具体语法格式如下:if(判断条件 1){ 执行语句 1;}else if(判断条...原创 2019-09-09 21:41:51 · 245 阅读 · 0 评论 -
选择结构
1.选择结构选择结构也被称为分支结构,选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码1.1 if 语句在Java中,if语句的具体语法格式如下:if(条件语句){ 执行语句; ......}上述格式中,条件语句中的判断条件是一个布尔值,当判断条件为true是,{}中的执行语句才会执行。if语句的执行流程...原创 2019-09-08 21:53:29 · 1827 阅读 · 0 评论 -
变量
1.1变量的概述变量是内存中装载数据的小盒子,你只能用它来存数据和取数据。1.2计算机存储单元变量是内存中的小容器,用来存储数据。那么计算机内存是怎么存储数据的呢?无论是内存还是硬盘,计算机存储设备的最小信息单元叫“位(bit)”,我们又称为“比特位”,通常用小写的字母b表示。而计算机的最小存储单元叫“字节(byte)”,通常用大写字母B表示,字节是由连续的8个位组成的。除了字节还有一些常...原创 2019-09-02 21:00:32 · 267 阅读 · 0 评论 -
打印一个带有“*”的等腰三角形
打印一个5行的等腰三角形for (int i=1;i<=5;i++){ for (int j=1;j<=5-i;j++){ System.out.print(" "); } for (int j=1;j<=2*i-1;j++){ System....原创 2019-09-01 16:03:41 · 1336 阅读 · 0 评论 -
打印输出加密后的数字
1. 某公司采用公用电话传递数据,数据是4位整数,在传递过程中是加密的,加密规则如下:每位上的数字加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换,编写一个程序,用于接受一个4位整数,并且打印输出加密后的数字代码如下所示:public static void main(String[] args) { int[] arr1 = new int...原创 2019-08-28 19:28:41 · 461 阅读 · 0 评论