java
秋叶夏风
在这里探讨Python,Go,前端相关技术,分享一些个人总结的经验和学习中遇到的各种坑 o~(▔▽▔o~)
展开
-
Java线程池有哪些作用
线程池线程池的作用核心点:复用机制提前创建好固定的线程一直在运行状态实现复用限制线程创建数量。1.降低资源消耗:通过池化技术重复利用已创建的线程,降低线程创建和销毁造成的损耗。2.提高响应速度:任务到达时,无需等待线程创建即可立即执行。3.提高线程的可管理性:线程是稀缺资源,如果无限制创建,个仅会泪R系沉贡源,贮云公为线程的不合理分布导致资源调度失衡,降低系统的稳定性。使用线程池可以进行统一的分配、调优和监控。4.提供更多更强大的功能:线程池具备可拓展性,允许开发人员向其中增加更多的功能。比如原创 2021-07-19 18:41:42 · 1745 阅读 · 0 评论 -
单例设计模式-枚举
枚举枚举应用实例代码演示package com.atguigu.principle.singleton.type08;/***/public class SingletonTest08 { public static void main(String[] args) { Singleton instance = Singleton.INSTANCE; Singleton instance2 = Singleton.INSTANCE; Syste原创 2021-02-20 09:43:03 · 275 阅读 · 0 评论 -
单例设计模式-静态内部类
静态内部类静态内部类应用实例代码演示package com.atguigu.principle.singleton.type07;/*** @author victor* @site https://victorfengming.github.io/* @company XDL* @project java_mode* @package com.atguigu.principle.singleton.type07* @created 2021-02-02 20:37* @functi原创 2021-02-20 09:42:19 · 450 阅读 · 0 评论 -
单例设计模式-双重检查
双重检查双重检查应用实例代码演示:class Singleton{ private static volatile Singleton singleton; private Singleton(){} // 提供一个静态公有方法 public static Singleton getInstance() { if (instance == null) { synchronized (Singleton.class) {原创 2021-02-20 09:41:36 · 268 阅读 · 1 评论 -
懒汉式(线程安全,同步代码块儿)
懒汉式(线程安全,同步代码块儿)代码演示// 懒汉式 (线程安全_ 同步放法_)class Singleton{ private static Singleton instance; private Singleton() { } // 提供一个静态的公有方法 加入了同步处理的代码 // 解决线程安全问题 // 即懒汉式 // 我们在这里加一个关键字 synchronized public static Singleton getInstance()原创 2021-02-20 09:40:55 · 414 阅读 · 1 评论 -
单例设计模式-懒汉式(线程安全)
懒汉式(线程安全)有缺点说明解决了线程不安全问题效率太低了,每个线程在想获得类的实例时候,执行getInstance()方法都要进行同步.而其实这个方法只执行了一次实例化代码就够了,后面的想获取该类实例,直接return就行了.方法进行同步效率太低结论: 在实际开发中,不推荐使用这种方式代码演示package com.atguigu.principle.singleton.type04;/*** @author victor* @site https://victorfe原创 2021-02-20 09:40:11 · 317 阅读 · 1 评论 -
单例设计模式2
恶汉式(静态代码块儿)优缺点说明:这种方式和上面的相似,只不过将类实例化的过程放在了静态代码块中,也是在类装载的时候,就执行静态代码块儿中的代码,初始化类的实例.优缺点和上面是一样的.结论: 这种单例模式可用,可能 造成内存浪费代码演示package com.atguigu.principle.singleton.type02;/*** @author victor* @site https://victorfengming.github.io/* @company XDL原创 2021-02-20 09:38:02 · 238 阅读 · 0 评论 -
单例设计模式1
单例所谓单例设计模式,即时采取一定的方法保证在整个软件系统当中,对于某个类只能存在一个对象实例,并且该类只提供一个其对象实例的方法(静态方法)恶汉式优缺点说明:优点:这种写法比较简单,就是在类装载的时候就完成实例化.避免了线程同步问题缺点: 在类装载的时候就完成了实例化,没有达到Lazy Loading的效果.如果从始至终都没有使用过这个实例,就会造成内存的浪费这种方式基于ClassLoader机制避免了多线程同步问题,不过,instance在类装载的时就实例化,在单例模式中大多数都原创 2021-02-20 09:34:45 · 175 阅读 · 0 评论 -
Java中的23种设计模式
Java 设计模式设计模式(英语 design pattern)是对面向对象设计中反复出现的问题的解决方案。这个术语是在1990年代由Erich Gamma等人从建筑设计领域引入到计算机科学中来的。这个术语的含义还存有争议。算法不是设计模式,因为算法致力于解决问题而非设计问题。设计模式通常描述了一组相互紧密作用的类与对象。设计模式提供一种讨论软件设计的公共语言,使得熟练设计者的设计经验可以被初学者和其他设计者掌握。设计模式还为软件重构提供了目标。详情:http://victorfengming.gi原创 2021-02-20 09:29:33 · 257 阅读 · 0 评论 -
关于虚拟机栈的理解
虚拟机栈虚拟机栈出现的背景由于跨平台性的设计,Java的指令都是根据栈来设计的. 不同平台CPU架构不同,所以不能设置为基于寄存器的优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同样的功能需要更多的指令.有不少Java开发人员一提到Java内存结构,就会非常粗粒度地将JVM中的内存区理解为仅有Java堆(Heap)和Java栈(stack)? 为什么内存中的栈与堆栈是运行时的单位,而堆是存储的单位即: 栈解决程序的运行问题,即程序如何执行,或者说如何处理数据.堆: 堆解决的是原创 2020-11-04 22:01:37 · 567 阅读 · 2 评论 -
阿里巴巴中文站架构设计实践(何崚)图书
阿里巴巴中文站架构实践何崚@阿里巴巴全文地址:阿里巴巴中文站架构设计实践(何崚).pdf更多课件可到:这里查看后续内容还在更新…原创 2020-08-12 13:30:32 · 811 阅读 · 0 评论 -
盘点key value在各个编程语言中的类型
起步在编程语言中,有这么一种数据类型,我们经常会使用到,他就是类似于json的键值对类型那么今天我们就对比一下,在各大编程语言中的key value类型的特点mainpythonkey value 叫做字典dict类型声明字典操作以键值对方式存在的无序数据的组合就是字典方式1: 变量 = {}方式2: 变量 = dict()详细信息可以参考这里Java...原创 2020-04-14 11:19:06 · 1040 阅读 · 0 评论 -
JDBC笔记-李伟杰版
JDBC 032019/8/1 9:51:41 笔记网站全球加速: http://zaixianke.com北京节点: http://itdage.cnJDBC 事务 ***在dos命令行操作oracle时 , 执行DML , 需要结束事务 (commit提交 或 rollback回退)在JDBC中, 事务是自动提交的, 每执行一条DML语句, 事务就自动提交一次. ...原创 2019-11-15 19:38:21 · 789 阅读 · 0 评论 -
druid.properties文件的配置
# druid.properties文件的配置driverClassName=com.mysql.jdbc.Driverurl=jdbc:mysql://127.0.0.1:3306/planusername=rootpassword=# 初始化连接数量initialSize=5# 最大连接数maxActive=10# 最大超时时间maxWait=3000...原创 2019-11-15 19:37:51 · 13006 阅读 · 0 评论 -
JDBC笔记02-数据库连接池 Spring JDBC
今日内容数据库连接池Spring JDBC : JDBC Template数据库连接池概念:其实就是一个容器(集合),存放数据库连接的容器当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器好处:节约资源用户访问高效实现标准接口:DataSource javax.sql包下的方...原创 2019-11-15 19:37:16 · 357 阅读 · 0 评论 -
c3p0-config.xml文件简单说明与备忘
<?xml version="1.0" encoding="UTF-8"?><c3p0-config> <named-config name="mysql"> <!-- 配置数据库用户名 --> <property name="user">root</property> ...原创 2019-11-15 19:36:39 · 594 阅读 · 0 评论 -
JDBC笔记01-JDBC,Connection,Statement,ResultSet,PreparedStatement,Properties
学习目标 理解JDBC原理 掌握Connection接口的使用 掌握Statement接口的使用 掌握ResultSet接口的使用 掌握PreparedStatement接口的使用 掌握Properties类与配置文件的使用JDBC 概念JDBC (Java DataBase Connectivity)Java数据库连接技术的简称,提供连接各种常用数据库的能力说白了就是j...原创 2019-11-15 19:35:58 · 635 阅读 · 0 评论 -
JavaWeb笔记05-解决线程安全问题
线程安全问题:Servlet的service方法,每次被请求是,调用.这个调用很特殊,是在新的子线程中调用的,当service方法执行完毕,子线程死亡了.可以简单的理解为:service方法每次执行都是一个新的线程.package cn.xdl.demo1;import javax.servlet.ServletException;import javax.servlet.annot...原创 2019-11-15 19:35:05 · 249 阅读 · 0 评论 -
JavaWeb笔记04-解决GET与POST乱码问题
解决GET与POST乱码问题:请求的乱码问题GET:tomcat8版本之前,get请求会乱码正常文字 --> UTF-8编码 --> 字节数组 --> ISO-8859-1 编码 --> 乱码文字正常文字 <-- UTF-8编码 <-- 字节数组 <-- ISO-8859-1 编码 <-- 乱码文字解决乱码的两种格式:格式1:可...原创 2019-11-15 19:34:15 · 275 阅读 · 0 评论 -
JavaWeb笔记02-Tomcat
今日内容web相关概念回顾web服务器软件:TomcatServlet入门学习web相关概念回顾软件架构C/S: 客户端/服务器端B/S: 浏览器/服务器端资源分类静态资源: 所有用户访问后,得到的结果都是一样的,成为静态资源,静态资源可以直接被浏览器解析如:html, css ,JavaScript动态资源:每个用户访问相同资源后,得到的结果可能不一样....原创 2019-11-15 19:33:35 · 265 阅读 · 0 评论 -
JavaWeb笔记03-Servlet
今日内容ServletHTTP协议RequestServlet概念步骤执行原理生命周期Servlet3.0注解配置Servlet的体系结构Servlet – 接口GenericServlet – 抽象类:将Servlet接口中其他方法做了默认空实现,只将service()方法作为抽象将来定义Servlet类时候,可以继承GenericServlet,实现serv...原创 2019-11-15 19:33:00 · 262 阅读 · 0 评论 -
JavaWeb笔记01-XML
今日内容XML概念语法解析XML:概念:Extensible Markup Language 可扩展标记语言可扩展:标签都是自定义的.<user><student>功能存储数据配置文件在网络中传输一个故事由于浏览器之间的竞争,导致HTML发展的十分不顺利用户:唉,这怎么报错了呢?浏览器1:我不用写引号就能应用属性.贼强浏览器2...原创 2019-11-15 19:32:17 · 278 阅读 · 0 评论 -
ubuntu系统下Java环境JDK的安装
Debian Linux下安装jdk下载压缩包官网下载对应的.gz包 点击下载解压文件创建一个目录用于存放解压后的文件,并解压缩到该目录下sudo mkdir /opt/java8sudo tar -zxvf jdk-8u221-linux-x64.tar.gz -C /opt/java8修改环境变量sudo vim ~/.bashrc进入文件,末尾追加如下内容:expo...原创 2019-11-04 00:12:53 · 484 阅读 · 0 评论 -
Java笔记13-兄弟连在线考试系统
今天内容:1.兄弟连在线考试系统1.1 软件开发的流程 需求分析文档 => 概要设计文档 => 详细设计文档 => 编码和测试1.2 编写目的(1)复习JavaSE所学的所有内容。(2)锻炼基本的编程能力。1.3 功能分析 考试系统: (1)学员系统 a.修改密码 b.开始考试 ...原创 2019-11-04 00:02:13 · 396 阅读 · 0 评论 -
Java笔记12-函数式接口
主要内容自定义函数式接口函数式编程常用函数式接口第一章 函数式接口概念函数式接口在java中指的是:有且只有一个抽象方法的接口函数式接口,即适用于函数式编程场景的接口.而java中共的函数式编程体现就是Lambda,所以函数式接口就是可以适用于lambda使用的接口.只有确保接口中有且只有一个宠幸方法,java中的lambda才能顺利地进行推导.备注:语法糖是指使用更加方便,但...原创 2019-11-04 00:01:17 · 383 阅读 · 0 评论 -
Java笔记11-软件开发流程&设计原则
今天内容:1.常用的设计原则2.常用的设计模式3.常用的查找算法4.常用的排序算法1.常用的设计原则(记住)1.1软件的开发流程软件开发授权-投标 -> 100万1. 编写需求分析文档 => 2. 概要设计文档(架构) => 3. 详细设计文档(类图) => 4. 编码(项目经理分具体任务) 还要测试 (SVN/GIT)单元测试,模块测试...原创 2019-11-04 00:00:03 · 315 阅读 · 0 评论 -
Java笔记11-【异常、线程】
主要内容异常、线程第一章 异常1.1 异常概念异常,就是不正常的意思。在生活中:医生说,你的身体某个部位有异常,该部位和正常相比有点不同,该部位的功能将受影响.在程序中的意思就是:异常 :指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。Java处理异...原创 2019-11-03 23:59:01 · 243 阅读 · 0 评论 -
Java笔记08-Map详解
第一章 Map集合1.1 概述现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等,这种一一对应的关系,就叫做映射。Java提供了专门的集合类用来存放这种对象关系的对象,即java.util.Map接口。我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同,如下图。[外链图片转存失败,源...原创 2019-11-03 23:58:00 · 334 阅读 · 0 评论 -
Java笔记07-List、Set、数据结构、Collections
Java笔记07-List、Set、数据结构、Collections主要内容数据结构List集合Set集合Collections第一章 数据结构2.1 数据结构有什么用?当你用着java里面的容器类很爽的时候,你有没有想过,怎么ArrayList就像一个无限扩充的数组,也好像链表之类的。好用吗?好用,这就是数据结构的用处,只不过你在不知不觉中使用了。现实世界的存储,我们使用的...原创 2019-11-03 23:57:15 · 271 阅读 · 0 评论 -
Java笔记05-Collection、泛型、迭代器
Java笔记05-Collection、泛型、迭代器【Collection、泛型】主要内容Collection集合迭代器增强for泛型第一章 Collection集合1.1 集合概述在前面基础班我们已经学习过并使用过集合ArrayList ,那么集合到底是什么呢?集合:集合是java中提供的一种容器,可以用来存储多个数据。集合和数组既然都是容器,它们有啥区别呢?数...原创 2019-11-03 23:55:46 · 271 阅读 · 0 评论 -
Java笔记04-核心类库
Java笔记04-核心类库Object类1.1 常用的包java.lang包 -该包是Java语言中的核心包,该包中的内容由Java虚拟机自动导入如:String类,System类等java.util包- 该包是Java语言中的工具包,里面包含了大量的工具类和集合类等java.io包 是输入输出包,包括读写各种设备java.net包 是网络编程包,包括各种网络编程java...原创 2019-11-03 23:54:56 · 276 阅读 · 0 评论 -
Java笔记03-Constructor & Override
Java笔记03-Constructor & Override构造方法基本概念构造方法是类中的一种特殊方法它是在类创建对象(实例化)的时候自动调用的方法这个和python中的__init__初始化魔术方法类似可以在创建对象的时候进行参数的传递默认送您的构造一个类编译过后都需要有一个构造方法.如果程序中没有写的话编译器在编译时就会帮你加上一个无参数的空的构造方法(称之为"默认...原创 2019-11-03 23:52:12 · 257 阅读 · 0 评论 -
Java笔记02-OOP
面向对象编程万物皆对象面向对象指以属性和行为的观点去分析现实生活中的事物面向对象编程指先以面向对象的思想进行分析,然后使用面向对象的编程语言进行表达的过程面向对象编程是软件产业化发展的需求理解面向对象的思想精髓才行面想对象的三大特性封装继承多态类和对象类是一个抽象的定义,简单来说就是分类的类类是用于构建对象的模板而对对象是类的实现形...原创 2019-11-03 23:50:17 · 233 阅读 · 0 评论 -
Java笔记01-数组相关
数组相关数组的创建数据类型[] 数组名称 = new 数据类型[数组的长度]其中数据类型可以为任意类型数组的访问• 调用数组的length属性可以获取数组的长度:int len = arr.length;• 可以通过下标的方式访问数组中的每一个元素。需要注意的是:数组的下标从0开始,对于长度为n的数组,下标的范围是0~n-1。int tmp = a[2];二维数组• J...原创 2019-11-03 23:49:16 · 196 阅读 · 0 评论 -
在idea中使用git管理你的项目
起步idea是十分智能的Java集成开发环境而我们在用idea写项目的时候经常遇到版本控制的问题,而git工具如果你只会在终端中的git命令来进行控制,可能会使得效率低下今天小编就教大家在idea中使用git首先创建一个项目点击create new projects这里选择默认的就可以,关于jdk的安装可以参考ubuntu系统下Java环境JDK的安装和Deepin下java开发环...原创 2019-10-14 10:55:00 · 6685 阅读 · 2 评论 -
Deepin下java开发环境部署
简介本经验由深度论坛用户(zhang12345shun)分享,原文地址正文SUN JDK(现已改名Oracle JDK)1.下载Sun版JDK压缩包(.tar.gz),选择其中的32/64位Linux版本。2.将其解压缩:sudo tar -zxvf ~/Downloads/jdk-8u45-linux-i586.tar.gz -C /usr/lib 其中参数-C后面的路径是解压缩的...原创 2019-10-12 16:54:32 · 390 阅读 · 0 评论 -
ubuntu系统下Java环境JDK的安装
Debian Linux下安装jdk下载压缩包官网下载对应的.gz包 点击下载解压文件创建一个目录用于存放解压后的文件,并解压缩到该目录下sudo mkdir /opt/java8sudo tar -zxvf jdk-8u221-linux-x64.tar.gz -C /opt/java8修改环境变量sudo vim ~/.bashrc进入文件,末尾追加如下内容:expo...原创 2019-10-12 16:53:49 · 274 阅读 · 0 评论 -
Spring 概述
概述Spring 是最受欢迎的企业级 Java 应用程序开发框架,数以百万的来自世界各地的开发人员使用 Spring 框架来创建性能好、易于测试、可重用的代码。Spring 框架是一个开源的 Java 平台,它最初是由 Rod Johnson 编写的,并且于 2003 年 6 月首次在 Apache 2.0 许可下发布。Spring 是轻量级的框架,其基础版本只有 2 MB 左右的大小。S...原创 2019-10-12 16:53:12 · 213 阅读 · 0 评论 -
Java中final关键字的几种用法
在java的关键字中,static和final是两个我们必须掌握的关键字。不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构。下面我们来了解一下final关键字及其用法。final关键字在java中,final的含义在不同的场景下有细微的差别,但总体上来说,它指的是“这是不可变的”。下面,我们来讲final的四种主要用法。...原创 2019-10-12 16:52:44 · 499 阅读 · 0 评论 -
Java中的继承
Java 继承继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。继承可以理解为一个对象从另一个对象获取属性的过程。如果类A是类B的父类,而类B是类C的父类,我们也称C是A的子类,类C是从类A继承而来的。在Java中,类的继承是单一继承,也就是说,一个子类只能拥有一个父类继承中最常使用的两个关键字是extends和implements。这两个关键字的使用决定了一个对象和...原创 2019-10-12 16:50:09 · 190 阅读 · 0 评论