- 博客(17)
- 资源 (2)
- 收藏
- 关注
原创 Ubuntu下安装和连接redis
本文介绍Ubuntu下安装redis6,可能需要用到tcl8.5.12-src.tar.gz。第一步:安装tcl8.5.12将下载好的tcl8.5.12移到虚拟机中,打开终端进入tcl.8.6.8/unix目录,执行tcl.8.6.8/unix,进行配置,然后执行make进行构建,最后执行make install进行安装,期间若出现了Permission denied权限不足,则执行su root,在输入密码,进入root下进行安装。第二步将下载好的redis-6.2.3移到虚拟机中,打开虚拟机执行
2021-05-28 20:51:29
670
原创 javaWeb——IDEA2020.3.3创建Web工程
IDEA2020.3.3创建Web工程首先创建一个普通的java工程然后右击项目,选择如下在如下弹出界面勾选Web Application,点击ok此时目录变成下图这样在WEB-INF添加路径,命名为lib此时,web项目创建完成。src目录存放自己编写的源代码web目录存放web工程的资源文件,如html,css,js等lib目录一般存放第三方jar包。 web目录下的WEB-INF是一个受服务
2021-04-15 19:50:10
297
原创 JDBC——SQL注入与解决SQL注入的方法
SQL注入原理如下列代码 String sql="select * from t_user where loginName='"+userLoginInfo.get("loginName")+"' and passWord='"+userLoginInfo.get("passWord")+"'"; rs=s.executeQuery(sql);在接收用户输入用户名和密码时,如果用户输入用户名为qw,密码输入qw’ or ‘1’='1,则执行的sql语句变为select * from hero w
2021-04-13 19:35:50
606
1
原创 java——线程总结
这里写目录标题进程和线程的区别创建线程的两种方式线程的生命周期线程对象的名字获取当前线程对象sleep方法和interrupt方法线程的终止线程调度线程优先级线程让位线程插入线程安全(重点)进程和线程的区别进程是一个应用程序,线程是进程的一部分。进程是由多个线程组成的。进程与进程之间相互独立,互不影响,资源不共享。而线程之间,栈内存相互独立(一个栈是一个线程),但堆内存和方法区共享。如下图:创建线程的两种方式第一种:编写一个类,直接继承java.lang.Thread,然后重写run方法,在ru
2021-04-10 21:06:13
115
原创 java——模拟生产者和消费者模式
假设有一个出库,生产者往出库放货物,消费者拿出货物仓库满了不能生产,出库空了不能消耗现在用集合表示出库,仓库最多存10个元素public class 生产者消费者问题 { public static void main(String[] args) { List list = new ArrayList(); Thread t1 = new Thread(new Producer(list)); Thread t2 = new Thread(new Comsummer(list));
2021-04-10 21:04:16
220
原创 java——线程安全总结
线程安全总结存在线程安全问题的三个条件解决线程安全问题的方法:线程同步机制(关键字:synchronized)synchronized的其他用法synchronized面试题死锁存在线程安全问题的三个条件1、多线程并发2、有共享数据(重点)java中的三大变量:实例变量、静态变量、局部变量实例变量和静态变量分别存在堆内存和方法区内存,是唯一的,属于共享数据,故线程不安全而局部变量是在栈内存中,一个栈内存是一个线程,局部变量永远不会共享,所以是线程安全的。3、共享数据有修改行为解决线程安全问题
2021-04-10 13:59:16
111
原创 java——IO流总结
目录IO流的分类方式流的四大类常用流IO流(均是java.io包下的)文件专属FileInputStream详解FileOutputStream详解文件复制FileReader与FIleWriteDataInputStream和DataOutputStreamIO流的分类方式第一种方式:以内存为参照物,按照流的方向分类 从硬盘到内存的,叫做输入,或读(read)  
2021-04-07 15:34:32
194
2
原创 java——FileInputStream详解
FileInputStream作用FileInputStream主要用于读取文件,将文件信息读到内存中。FileInputStream常用方法1、int read()方法从文件的第一个字节开始,read方法每执行一次,就会将一个字节读取,并返回该字节ASCII码,如果读出的数据是空的,即读取的地方是没有数据,则返回-1,如下列代码:public static void main(String[] args) { FileInputStream fis = null; try { fi
2021-04-03 16:38:11
17787
原创 java——集合总结
集合存储的内容集合本身是对象,集合中存储的不是基本数据类型,也不是对象,而是对象的引用,即地址。如下图:不同集合对应不同的数据结构ArrayList类创建的集合,底层是数组。LinkedList类创建的集合,底层是链表。TreeSet类创建的集合,底层是二叉树。...
2021-04-02 19:44:08
193
原创 java——Map集合总结
Map集合总结Map集合要点HashMap集合Map集合要点1、Map集合的特点Map集合与Collection集合没有继承Map集合以key和value的方式存储数据。 key和value都是引用数据类型。 key和value都是存储对象的内存地址
2021-04-02 19:43:49
375
原创 java—— 深入理解contains方法
深入理解contains方法如下代码: public static void main(String[] args) { Collection c=new ArrayList(); //在集合c中添加两个元素 String s1=new String("abc"); c.add(s1); String s2=new String("def"); c.add(s2); //再次创建String变量,变量名为abc String x=new String("abc");
2021-03-30 16:37:30
2137
原创 Servlet——创建第一个带有servlet的Webapp
创建第一个带有servlet的Webapp下载好tomcat服务器后,在webapps目录下新建文件夹,命名为 FirstServletWebApp,在该文件夹下创建如下目录然后在WEB-INF目录中创建如下目录:然后在classes目录下创建一个java文件,并进行编译,生了class文件后可删除java文件,java文件代码如下import javax.servlet.Servlet;import javax.servlet.ServletConfig;import javax.serv
2021-03-29 18:20:52
374
原创 java——LinkedList集合创建并添加元素的底层原理
LInkedList集合底层LinkedList集合底层是双向链表,元素同样也有下标,但内存地址不连续,故检索速度依然慢。(ArrayList集合检索快是因为使用了数组,内存地址连续。)LinkedList集合内存分析1、创建一个对象首先看到以下代码: LinkedList l=new LinkedList(); l.add("a"); l.add("b"); l.add("c");首先,执行LinkedList l=new LinkedList();执行到的源码如下:trans
2021-03-28 19:26:26
3077
原创 java——异常总结
异常的分类异常分为检查性异常、运行时异常、Error1、检查性异常,又叫编译时异常,发生在代码编写过程中,编译器会报错,检查性异常出现时,代码编译无法通过2、运行时异常是在出现运行过程中出现的,对于运行时异常,可以由程序进行处理,并继续运行程序。3、Error是致命性的错误,Error类对象由java虚拟机生产并抛出,发生error时,JVM一般会选择线程终止。异常的继承结构...
2021-03-22 19:58:19
186
原创 java——this关键字与super关键字
this关键字与super关键字的作用1、调用父类或子类的属性当一个类继承父类后,若父类与子类有相同的属性,使用”this.属性名“可以访问子类属性,使用“super.属性名”可以访问父类属性。代码如下public class demo { public static void main(String[] args) { Person1 p1=new Person1(); p1.print();//输出结果为abc p1.print2();//输出结果为a }}class P
2021-03-20 16:24:51
215
3
原创 数据库——SQL语句的分类
SQL语句的分类学习MYSQL主要学习SQL语句,包括增删改查,主要分为以下几类1、DQL(数据查询语言):所有的select语句2、DML(数据操作语言):insert、delete、update,对表中的数据进行修改3、DDL(数据定义语言):create、drop、alter,对表结构的增删改4、TCL(事务控制语言):commit提交事务、 rollback回滚事务5、DCL(数据控制语言):grant授权、revoke撤销权限等。...
2021-03-19 16:36:50
457
原创 java——创建对象内存分析
创建对象内存分析在计算机中,内存可简要分为栈内存、堆内存,堆内存中又有一块内存称为方法区,如下图:运行以下代码:public class demo { public static void main(String[] args) { Pet dog=new Pet(); dog.name="狗"; dog.age=1; dog.shout(); Pet cat=new Pet(); }}class Pet{ public String name; pub
2021-03-19 15:52:58
125
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人