- 博客(12)
- 收藏
- 关注
原创 1.通用的Java操作数据库工具类(原生JDBC,不使用BeanUtils,c3p0等工具)
这几天给别人写作业遇到一个说问题不是问题,但是不说问题又还是有点问题的问题。是这样的,因为学生的作业嘛,也不是很难,只要实现基本的JDBC操作数据库就可以,但是每次写的时候都要去找以前的笔记,让我有点烦,所以我就索性专门写一篇博客来方便自己也方便他们写一个Java原生JDBC操作数据库的工具类,方便去使用。说明这就是原生的JDBC,没有使用什么连接池、工具包等东西,所以有些嫌繁琐的大佬勿喷,不过我以后会更新通过数据库连接池实现的通用的Java操作数据库的工具类。有一说一,这原生的JDBC其实也是蛮有意思的,
2020-06-19 15:08:05 422
原创 2.通用的Java操作数据库工具类(使用BeanUtils工具类,上一篇文章的升级版)
这次的内容在功能上和上一篇博客是一样的,都是一个通用的Java操作数据库实现增删改查的工具类。但是不同的是这次使用了BeanUtils包作为辅助,不仅增加了代码的安全性也简化了一些代码,并且在原代码的基础上我将一些工具类内部重复的代码做了封装,增加了代码的复用性,也大大的简化了代码。先说一下为什么原来的代码会存在一些安全问题:原来的代码在通过泛型创建对象并且赋值的时候,是通过反射来实现的,但是反射是破坏类里面的一些基本规则的,比如private,protect修饰符的限制,对属性进行了直接的赋值,这样做是
2020-06-03 16:47:43 376
原创 C++实现双头链表
这几天给别人写作业遇到一个说问题不是问题,但是不说问题又还是有点问题的问题。是这样的,因为学生的作业嘛,也不是很难,只要实现基本的JDBC操作数据库就可以,但是每次写的时候都要去找以前的笔记,让我有点烦,所以我就索性专门写一篇博客来方便自己也方便他们写一个Java原生JDBC操作数据库的工具类,方便去使用。说明这就是原生的JDBC,没有使用什么连接池、工具包等东西,所以有些嫌繁琐的大佬勿喷,不过我以后会更新通过数据库连接池实现的通用的Java操作数据库的工具类。有一说一,这原生的JDBC其实也是蛮有意思的,
2020-06-01 23:40:39 447
原创 Java多线程与JUC——06死锁的出现与解决
死锁在Java中使用多线程,就会有可能导致死锁问题。死锁会让程序一直卡住,程序不再往下执行。我们只能通过中止并重启的方式来让程序重新执行。这是我们非常不愿意看到的一种现象,我们要尽可能避免死锁的情况发生!造成死锁的原因可以概括成三句话:1.当前线程拥有其他线程需要的资源2.当前线程等待其他线程已拥有的资源3.都不放弃自己拥有的资源1.锁顺序死锁(最简单的死锁)首先我们来看一下最*...
2020-03-12 17:32:29 283
原创 Java多线程与JUC——05线程同步
说线程同步方式之前,先理解一下线程的安全问题,从而搞懂为什么需要线程同步:一、什么情况下会产生线程安全问题?同时满足以下两个条件时:1,多个线程在操作共享的数据。2,操作共享数据的线程代码有多条。当一个线程在执行操作共享数据的多条代码过程中,其他线程参与了运算,就会导致线程安全问题的产生。例1:四个线程卖100张票public class TicketDemo implements ...
2020-03-07 23:39:17 234
原创 Java多线程与JUC——04控制线程
Java的线程支持提供了一些工具方法,通过这些方法可以很好地控制线程的执行。Join线程Thread类中的join方法的主要作用就是同步,它可以使得线程之间的并发执行变为串行执行。具体看代码:public class ThreadTest1 { /** * join的意思是使得放弃当前线程的执行,并返回对应的线程,例如下面代码的意思就是: ...
2020-03-05 18:09:50 228
原创 Java多线程与JUC——03线程的生命周期
当线程被创建并启动以后,它不是一启动就进入执行状态,也不会一直处于执行状态,而是会经历5种状态。5种状态就是线程的生命周期,线程状态的5个阶段具体分别是:新建状态(New)、就绪状态(Runnable)、运行状态(Running)、阻塞状态(Blocked)、死亡状态(Dead)新建状态(New)当程序使用new关键字创建了一个线程之后,该线程就处于新建状态。例:Thread t = ...
2020-03-04 16:28:47 170
原创 Java多线程与JUC——02线程的创建与启动
Java使用Thread类代表线程,所有的线程对象都必须是Thread类或其子类的实例。线程的创建一般有以下三种:一、继承Thread类创建线程类步骤1.定义Thread类的子类,并重写该类的run()方法,该run()方法的方法体就代表了线程需要完成的任务,因此经常把run( )方法称为线程执行体。步骤2.创建Thread子类的实例,即创建了线程对象。你每new出一个对象,就意味着你创...
2020-03-03 18:46:20 183
原创 Java多线程与JUC——01理解进程线程的概念
今天开始认真的学一下Java线程与JUC,所以开辟一个新的专栏来记录笔记。希望也能对你的学习有所帮助,喜欢的话就多多关注我吧。我会一直将我的笔记传到我的博客上与大家分享交流。1.进程几乎所有的操作系统都支持进程概念,进程是处于运行过程中的程序,进程是操作系统中进行资源分配的基本单位。一般而言进程包含如下三个基本特征 。独立性:指进程实体是一个能独立运行、独立获得资源和独立接受调度的基本单...
2020-03-03 17:24:34 247
原创 Java数据结构——02算法的概述
什么是算法按照某种逻辑关系组织起来的一批数据,按一定的方式把它存放在计算机的内存里,在这个基础上为了实现某个功能(比如查找某个元素,删除某个元素,给所有元素排序等等)而进行的一些列操作,我们把这一些列的操作步骤描述出来就是算法。算法也可以解释为:计算机求解一个问题所需的一系列步骤。算法的基本特性1.输入:一个算法有0个或者多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身给出了初...
2020-03-02 08:57:20 531
原创 Java数据结构——01数据结构的概述
时间过的很快,一眨眼就已经到了大三下学期,想要在后面找工作能突出就要现在开始找实习,但是自己掌握的基础不够牢固,还有些迷茫,问了学长学姐还有一些交流群里的大佬说先再刷刷算法和数据结构,所以今天开始准备重新学习数据结构。什么是数据结构数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据...
2020-03-01 21:19:49 421
原创 Java递归笔试题
Java递归笔试题今天在练习Java笔试题的时候,遇到了一个递归题目,一开始的时候被绕了进去,后来才想明白是一个参数进栈的问题今天在练习Java笔试题的时候,遇到了一个递归题目,一开始的时候被绕了进去,后来才想明白是一个参数进栈的问题public class test1 { public static void main(String[] args) { split(...
2020-01-23 11:35:34 791
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人