java中的数据类型
简要: 在 java 中,我们知道有两种数据类型,一种是基本类型也叫原始数据类型( primitive types ),另一种是引用类型( reference types ),引用类型指向了不同的对象。本文我们主要讨论 Java 中强引用、软引用、弱引用、虚引用四种引用有什么区别?同时他们分别适用的场景是什么? 基本概念 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种级别由高到低依次为:强引用、软引用、弱引用和虚引用 不同的引用类型,主要体现的是对象不同的可达性(reachable)状态和对垃圾收集的影响。 强引用(”Strong” Reference) 我们最常见的普通对象引用都是强引用,此时只要引用指向了一个对象,那么该对象就是处于“活着”,垃圾收集器不会去处操作这些对象。对于一个普通的对象,如果没有其他的引用关系,只要超过了引用的作用域或者显式 ...
MySQL 基础笔记
简介:文章主要介绍数据库的基本概念,讲解 MySql 的基本使用与 SQL 的使用语法 数据库的基本概念 数据库的英文单词: DataBase 简称 : DB 什么数据库? 用于存储和管理数据的仓库。 数据库的特点: 持久化存储数据的。其实数据库就是一个文件系统 方便存储和管理数据 使用了统一的方式操作数据库 – SQL – DBA MySQL数据库软件1. 安装 数据库: 关系型数据库 Oracle —> 收费 全球最厉害的数据 –> 甲骨文 –> 收购 sun mysql —> 开源数据库 5.6之前免费的 sun公司 sql sever —> 微软 收费 IIS .net C# DB2 —> IBM -> 收费 PSQL —> 空间数据库 SQLite —> 微型数据库 app里内嵌的 - NOSQL 非关系型的数据库 新型数据库 > 1. `Mongodb` ---> 文 ...
JDBC 基础笔记 [MySQL]
采用Java代码来操作数据库,本文主要讲解 jdbc 的感念,以及他的简单使用与案例 JDBC介绍 概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库 JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。 快速入门步骤: 导入驱动jar包 mysql-connector-java-5.1.37-bin.jar 1.1 复制mysql-connector-java-5.1.37-bin.jar到项目的libs目录下 1.2 右键–>Add As Library 注册驱动 获取数据库连接对象 Connection 定义sql 获取执行sql语句的对象 Statement 执行sql,接受返回结果 处理结果 释放资源 代码实现:123456789101112131415161718192021222324252627282930 ...
Web 跨域请求问题的解决方案- CORS 方案
1. 什么是跨域 跨域是指跨域名的访问,以下情况都属于跨域: 跨域现象 实例 域名不相同 www.baidu.com 与 www.taobao 一级域名相同,但是端口不相同 www.baidu.com:8080 与 www.baidu.com:9090 二级域名不相同 news.baidu.com 与 baike.baidu.com 注:如果域名与端口均相同,只是请求的路径不相同,则不属于跨域,例如:www.baidu.com/item www.baidu.com/guonei 2. 为什么又跨域问题 tpis: 跨域不一定会有跨域问题。 因为跨域问题是浏览器对于ajax请求的一种安全限制: 一个页面发起的ajax请求,只能是于当前页同域名的路径,这能有效的阻止跨站攻击。 若没有该限制,那么任意一个网站中的js脚本都可以对其他任意网站进行恶意的攻击,因为cookie是浏览器端保存的重要数据,这样子就可以通过cookie在来跨域访问同一浏览器打开的网站,存在严重安全隐患; 因此:跨域问题 是针对ajax的一种限制。 但是这却给我们的开发带 ...
Windows 下 Tomcat 注册服务后注册表修改
简介: 介绍在windows中服务化安装tomcat之后如何来进行注册表的修改 1. 启动注册管理工具 快捷键: WIN+R 调出运行窗口,输入 regedit 命令回车,进入注册管理界面。如图: 2. 在注册表编辑器中,找到计算机 HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\Tomcat8\Parameters\Java 目录,,如下图 3. 对JVM内存进行修改 4. 重启服务步骤省略… ---------- 欢迎关注公众号“云栖简码” document.querySelectorAll('.github-emoji') .forEach(el => { if (!el.dataset.src) { return; } const img = document.createElement('img'); img.style = 'disp ...
java 中多线程与线程同步
简介: 主要介绍多线程的使用与线程的同步 第一章 线程1.1 多线程原理通过画多线程执行时序图来体现一下多线程程序的执行流程。代码如下:自定义线程类: 12345678910111213141516171819202122232425public class MyThread extends Thread{/*+ 利用继承中的特点+ 将线程名称传递 进行设置 */ public MyThread(String name){ super(name); } /*+ 重写run方法+ 定义线程要执行的代码 */ public void run(){ for (int i = 0; i < 20; i++) { //getName()方法 来自父亲 System.out.println(getName()+i); } }} 测试类: 12345678910public class Demo { public static void main(String[] args) { System.out.pri ...
IDEA 中 Debug 追踪笔记与教程
简介: 文章主要介绍在 IDEA 中如何使用 Debug 功能, 在开发过程中提高开发效率 使用IDEA的断点调试功能,查看程序的运行过程 在有效代码行,点击行号右边的空白区域,设置断点,程序执行到断点将停止,我们可以手动来运行程序 点击Debug运行模式 程序停止在断点上不再执行,而IDEA最下方打开了Debug调试窗口 Debug调试窗口介绍 快捷键F8,代码向下执行一行,第九行执行完毕,执行到第10行(第10行还未执行) 切换到控制台面板,控制台显示 请录入一个字符串: 并且等待键盘录入 快捷键F8,程序继续向后执行,执行键盘录入操作,在控制台录入数据 ababcea 回车之后效果: 调试界面效果: 此时到达findChar方法,快捷键F7,进入方法findChar 快捷键F8 接续执行,创建了map对象,变量区域显示 快捷键F8 接续执行,进入到循环中,循环变量i为 0,F8再继续执行,就获取到变量c赋值为字符‘a’ 字节 ...
spring 入门与单元测试
spring入门1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980811.Spring框架的概述2.Spring的快速入门3.Spring 工厂接口4.IoC容器装配Bean(xml配置方式)5.Ioc容器装配Bean(注解方式)6.在web项目中集成Spring7.Spring 整合 junit4 测试``` <!-- more -->## spring概述 01. Spring是分层的JavaSE/EE full-stack(一站式) 轻量级开源框架 - 分层: - SUN提供的EE的三层结构:web层、业务层、数据访问层(持久层,集成层) - Struts2是web层基于MVC设计模式框架. - Hibernate是持久的一个ORM的框架. - 一站式: - Spring框架有对三 ...
一份简明的 Markdown 笔记与教程
为个人学习使用markdown语法,记录了 Markdown 的优点、应用场景和编辑工具,介绍了标准语法与扩展语法,以及一些应用 Markdown 的奇技淫巧。 自从 2018 年左右接触到 Markdown 以来,对它的使用就一发而不可收拾。从最开始使用它在 GitHub Pages 里写博客,到用它编辑项目的 README 文件,再到撰写开发文档,编辑微信公众号文章和邮件内容等等,这期间也见证了它在各类平台和网站上的普及和被原生支持,可以说,Markdown 如今已经渗透了我在技术和网络活动的方方面面,成为了我撰写文本文档的首选。 那么首先我们一起来看一下它的「定义」: Markdown 是一种轻量级标记语言,创始人为 John Gruber。它允许人们「使用易读易写的纯文本格式编写文档,然后转换成有效的 XHTML(或者 HTML)文档」。——维基百科 本文档的目的不在于面面俱到地介绍 Markdown,只是作为我对其理解的笔记整理,希望能同时帮助一些对 Markdown 感兴趣的人快速上手,或是作为一个工具,供对其已经有所了解的人在需要时参考。 接下来请随我一起 ...