Java中的内存浅析
Java的内存需要划分成为5个部分
1. 栈(stack):存放的都是方法中的局部变量.方法的运行一定要在栈当中
局部变量: 方法的参数,或者是方法{}内部的变量
作用域:一旦超出作用域,立刻从栈内存当中消失
2. 堆(heap):凡是new出来的东西,都在堆当中
堆内存里面的东西都有一个地址值.规则: 如果是整数 默认为0 如果是浮点数 默认为0.0 如果是字符 默认为’\u0000’ 如果是布尔 默认为false 如果是引用类型 默认为null
3. 方法区(method area):存储.class相关信息,包含方法的信息
4. 本地方法栈(native method stack):与操作系统相关
5. 寄存器(pc register):与CPU相关
Java设计模式之单例模式
版权声明:本文为CSDN博主「炸斯特」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jason0539/article/details/23297037
起步java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍两种:懒汉式单例、饿汉式单例。
特点1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例。3、单例类必须给所有其他对象提供这一实例
单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资源管理器的功能。每台计算机可以有若干个打印机,但只能有一个Printer Spooler,以避免两个打印作业同时输出到打印机中。每台计算机可以有若干通信端口,系统应当集中管理这些通信端口,以避免一个通信端口同时被两个请求同时调用。总之,选择单例模式就是为了避免不一致状态,避免政出多头。
一、懒汉式单例123456789101112//懒汉式 ...
Java笔记01-数组相关
数组相关数组的创建
1数据类型[] 数组名称 = new 数据类型[数组的长度]
其中数据类型可以为任意类型
数组的访问
• 调用数组的length属性可以获取数组的长度:
1int len = arr.length;
• 可以通过下标的方式访问数组中的每一个元素。
需要注意的是:数组的下标从0开始,对于长度为n的数组,下标的范围是0~n-1。
1int tmp = a[2];
二维数组
• Java允许使用多维数组,其中最常见的就是二维数组。
• 二维数组就是由一维数组组成的数组,其元素是一维数组。
• 二维数组定义时需要两个中括号,方式如下:
12int[][] arr = new int[2][3];int[][] arr = new int[3][];
• 定义二维数组arr以后, arr是二维数组,arr[i]是一维数组,arr[i][j]是数据。
其中,最左边的中括号里面必须有长度。
关于java语法的各种坑
字符串相关
单引号不能定义多个字符串
字符串判断相等最好用==: (Scanner输入进的字符串不能这么判断) 解释:==不仅仅比较值还比较内存地址
类型相关
数组不能嵌套
数组中的类型要一样,提前定义好
数组不能直接增加
函数的返回值类型要提前声明好
OOP
类不能进行多继承
接口可以多实现,来补充了类的多继承
容器类数据
List 集合就是python中的列表list
Map 集合就是python中的字典dict
Set 集合就是python中的集合set
在idea中使用git管理你的项目
起步idea是十分智能的Java集成开发环境
而我们在用idea写项目的时候经常遇到版本控制的问题,而git工具如果你只会在终端中的git命令来进行控制,可能会使得效率低下
今天小编就教大家在idea中使用git
首先创建一个项目点击create new projects这里选择默认的就可以,关于jdk的安装可以参考ubuntu系统下Java环境JDK的安装和Deepin下java开发环境部署
这里是询问我们需不需要从模板创建项目,直接点击next即可
这里填写项目的名称和位置
填完后,点击finish即可
在idea中登录你的github刚刚创建的Java项目是这样的
我们需要点击设置
在设置中搜索git
选择git下面的github
在右边点击+号
输入你的github的账号和密码
这里可以勾选ssh协议,关于ssh的配置可以参考:git生成SSH并提交
配置好后点击OK即可
注意:登录github之后项目中文件的颜色将会变为褐色
创建一个github仓库,并将项目交给git来管理点击菜单栏的VCS->Import into Version Control->Cre ...
Python实现修改图片尺寸
起步很多小伙伴从网上找的图片可能图片尺寸与自己的需求不符合
今天小编就教大家使用python写一个简单脚本程序实现修改图片的尺寸
环境准备首先我们需要python环境,它的安装可以参考:python安装以及版本检测
其次我们还需要安装一个python图形化的库PIL
PIL的安装,这里我们使用pip来进行安装,关于pip可以参考:Python pip 安装与使用
pip安装好后,在终端中执行
1pip install PIL
等待安装完成即可
如果安装了pycharm的同学可以在设置中的解释器栏里面直接进行安装
这里小编推荐使用pycharm进行安装
关于它的安装可以参考:PyCharm的安装以及破解
源码参考1234567891011121314151617181920212223242526272829#!/usr/bin/env python# -*- coding:utf-8 -*-# Created by victor# 本模块的功能:<更改图片尺寸>import osimport os.pathfrom PIL import Image''& ...
java,python,php 中的数组简识
python 列表,元素,字典数组三种模式:列表(list),元组(tuple),字典(dict),均支持遍历,也支持迭代
123456789101112131415161718192021222324252627282930demo1 = ['a','b','c','d'] # 列表demo2 = ('a','b','c','d') # 元组demo3 = {"name":"kurt","age":18,"sex",1} # 字典# for循环遍历列表/元组里面的数据for item in demo1: print item# for循环遍历列表/元组里面的索引for key in xrange(0, len(demo1)): print key, demo1[key]# fo ...
送你一些实用的工具,收藏起来留着用
目录
1、搜索引擎
2、PPT
3、图片操作
4、文件共享
5、应届生招聘
6、程序员面试题库
7、办公、开发软件
8、高清图片、视频素材网站
9、项目开源
10、在线工具宝典大全
程序员开发需要具备良好的信息检索能力,为了备忘(收藏夹真是满了),将开发过程中常用的网站进行整理。
1、搜索引擎
1.1、秘迹搜索
一款无敌有良心、无敌安全的搜索引擎,不会收集私人信息,保护私隐,没有Cookie,并且秘迹搜索聚合了百度、360、Bing、搜狗等搜索结果。
网站:https://mijisou.com
1.2、小白盘
度盘资源搜索的网站,能够搜索电影、电视剧、小说、音乐等资源(注意:评论区很多小伙伴说小白盘有毒,我用谷歌浏览器搜索过几次并无大碍,请慎用!)
网站:https://www.xiaobaipan.com
1.3、 DogeDoge搜索
DogeDoge搜索,中文名多吉搜索,一个绝赞的民间高手开发的搜索引擎,传说完全可以替代 ...
Sublime弹出更新框解决方案
起步很多新手朋友使用sublime,它是一个开源免费和轻量级的编辑器
但是在使用的过程中,它总是会弹出提示你激活或者更新版本的弹出框,每次都要点击关闭它
今天小编就教大家如何去掉这个弹框
license的配置首先,直接就打开软件>
在help选项卡中,选择Enter license
输入下面的激活码
1234567891011ZYNGA INC.50 User LicenseEA7E-811825927BA117 84C9300F 4A0CCBC4 34A56B44985E4562 59F2B63B CCCFF92F 0E646B830FD6487D 1507AE29 9CC4F9F5 0A6F32E30343D868 C18E2CD5 27641A71 25475648309705B3 E468DDC4 1B766A18 7952D28CE627DDBA 960A2153 69A2D98A C87C060745DC6049 8C04EC29 D18DFA40 442C680B1342224D 44D90641 33A3B9F2 46AADB8F
sublimetext3会提示l ...
Java中final关键字的几种用法
在java的关键字中,static和final是两个我们必须掌握的关键字。不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构。下面我们来了解一下final关键字及其用法。
final关键字
在java中,final的含义在不同的场景下有细微的差别,但总体上来说,它指的是“这是不可变的”。下面,我们来讲final的四种主要用法。
1.修饰数据
在编写程序时,我们经常需要说明一个数据是不可变的,我们成为常量。在java中,用final关键字修饰的变量,只能进行一次赋值操作,并且在生存期内不可以改变它的值。更重要的是,final会告诉编译器,这个数据是不会修改的,那么编译器就可能会在编译时期就对该数据进行替换甚至执行计算,这样可以对我们的程序起到一点优化。不过在针对基本类型和引用类型时,final关键字的效果存在细微差别。我们来看下面的例子:
1 class Value {
2 int v;
3 public Value(int v) {
4 this.v = ...