static

Java学习升阶 -02-单例模式设计分析

半世苍凉 提交于 2020-03-29 14:01:32
单例模式定义 单例模式(Singleton),也叫单子模式,是一种常用的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。 单例模式的作用 许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为方便管理,也使系统资源占用率大大降低,也可以提高公共资源载入速度。 应用场景 比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息。这种方式简化了在复杂环境下的配置管理。需要频繁的进行创建和销毁的对象;创建对象时耗时过多或耗费资源过多,但又经常用到的对象;频繁访问数据库或文件的对象。那么可以初步归纳一下应用场景: 公用静态资源类 如前端中模版页、图片链接等等 全局信息类 全局计数、环境变量、系统基本配置等 无状态工具类 日志工具、字符串工具、文件处理、图片上传等 单例模式的实现方法 饿汉式 public class Singleton { private final static Singleton INSTANCE = new Singleton(); private Singleton(){} public static Singleton getInstance(){ return INSTANCE; } } 同静态代码块方式: public

第六次实训作业

南笙酒味 提交于 2020-03-29 07:42:42
第一题: 编写一个类ExceptionTest,在main方法中使用try-catch-finally语句结构实现: 在try语句块中,编写两个数相除操作,相除的两个操作数要求程序运行时用户输入; 在catch语句块中,捕获被0除所产生的异常,并输出异常信息; 在finally语句块中,输出一条语句 package shixun6; import java.util.Scanner; public class ExceptionTest extends Exception{ private static final int Scanner = 0; private static Scanner sc; public void ExceptionText(){ System.out.println("分母不能为0"); } public static void main(String[] args) { int a,b,c; System.out.println("输入两个数:\n"); Scanner sc=new Scanner(System.in); a=sc.nextInt(); b=sc.nextInt(); try{ c=a/b; } catch(ArithmeticException e){ System.out.println("分母不能为0"); } }

一大波静态方法

99封情书 提交于 2020-03-29 07:00:37
取本地assets目录下fonts路径下的字体资源 public static Typeface getTypeface(Context context) { Typeface face = Typeface.createFromAsset(context.getAssets(), "fonts/BOD_PSTC.TTF"); return face; } 新建一个popWindow public static PopupWindow createPopWindow(Context context, int layoutId) { View view = LayoutInflater.from(context).inflate(layoutId, null); PopupWindow pop = new PopupWindow(view, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); pop.setOutsideTouchable(false);// 点击外部退出 pop.setFocusable(true); pop.setBackgroundDrawable(new ColorDrawable(-00000));// 必须要这个,不然点击外部无效 pop.update();

创建模式之单例模式

好久不见. 提交于 2020-03-28 10:50:33
PPT视频讲解链接: https://v.youku.com/v_show/id_XNDYwODU0Njg2NA==.html 1、单例模式的使用动机   在软件系统中,jingc 有这样一些特殊类,必须保证他们在系统中值存在一个实例,才能确保它们的逻辑正确性、以及良好的效率。   保证一个实例应该是设计者(类本身)的责任,而不是使用者(客户终端)的责任 2、单例模式的定义及适用范围   定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。   适用:当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时    注意: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例   类图:      例子代码:    class Singleton { private static Singleton instance = null; // 防止被外部实例化 private Singleton() { } public static Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; } } public class TestSingleton { public test(){

java——内部类

人走茶凉 提交于 2020-03-28 01:55:10
1. 为什么需要内部类 (1) 可以访问该类定义所在的作用域中的数据,包括私有数据(内部类具有访问特权,比常规类功能更加强大) (2) 内部类可以对同一个包中的其他类隐藏起来 (3) 当想要定义一个回调函数且不想编写大量代码时,使用匿名(anonymous)内部类比较便捷 2. 内部类是一个怎样的存在 (1) 是指在一个外部类内部再定义一个类,类名不需要和文件夹相同 (2) 可以使用static,public,default,protected,private等修饰,而外部顶级类只能用public或者default (3) 编译器会把内部类翻译成$分割外部类名与内部类名,而JVM对此完全不知道。例如外部类编译后是outer.class,对应的内部类则是outer$inner.class 3. 成员内部类 public class Outer{ private static int j=0; public class Inner{ //执行代码 j ++; } } (1) 不能含有static的变量或者方法,因为成员内部类需要先创建外部类 (2) 创建内部类: Outer obj = new Outer(); Outer.Inner inobj = obj.new Inner(); 4. 局部内部类 public class Outer{ public void start(){ /

单例模式的 8 种写法,整理非常全!

自作多情 提交于 2020-03-27 09:40:20
概念 单例模式即一个 JVM 内存中只存在一个类的对象实例。 分类 1、懒汉式 类加载的时候就创建实例 2、饿汉式 使用的时候才创建实例 当然还有其他的生成单例的方式,双重校验锁,枚举和静态内部类,文中会有介绍。 懒汉式 1) 示例1 public class Singleton { private static Singleton instance; private Singleton (){} public static Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; } } 线程不安全,不可用。 2) 示例2 public class Singleton { private static Singleton instance; private Singleton (){} public static synchronized Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; } } 同步方法,线程安全,效率低,不推荐。 3) 示例3 public class Singleton {

单例模式的 8 种写法,整理非常全!

本秂侑毒 提交于 2020-03-27 09:08:48
3 月,跳不动了?>>> 概念 单例模式即一个 JVM 内存中只存在一个类的对象实例。 分类 1、懒汉式 类加载的时候就创建实例 2、饿汉式 使用的时候才创建实例 当然还有其他的生成单例的方式,双重校验锁,枚举和静态内部类,文中会有介绍。 懒汉式 1) 示例1 public class Singleton { private static Singleton instance; private Singleton (){} public static Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; } } 线程不安全,不可用。 2) 示例2 public class Singleton { private static Singleton instance; private Singleton (){} public static synchronized Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; } } 同步方法,线程安全,效率低,不推荐。 3) 示例3 public class

Html position(static | absolute | fixed | relative)定位

空扰寡人 提交于 2020-03-27 08:07:31
语法: position : static | absolute | fixed | relative 参数: static : 无特殊定位,对象遵循HTML定位默认规则 absolute : 绝对定位。将对象从文档流中拖出,使用 left , right , top , bottom 等属性进行绝对定位。而其层叠通过 z-index 属性定义。此时对象不具有 边距 ,但仍有 补白 和 边框 。相对于position属性非static值的最近父级元素进行偏移,如果父级都是static(文档流),则相对整个文档进行偏移。偏移后,原来的空间会被其他元素挤占 relative : 相对定位。对象不能想绝对定位一样层叠,但可依据 left , right , top , bottom 等属性在正常文档流中相对原先对象的位置进行偏移。原先的位置会被其他元素挤占。 positon 名称 (1) 是否将对象脱离文档流 (2) 偏移参照对象 偏移属性 (3) 原先位置是否会被其他元素占用 (4) 是否 能通过z-index层叠 absolute 绝对定位 是 相对于position属性非static值的最近父级元素进行偏移,如果父级都是static(文档流),则相对整个文档进行偏移(即body左上角坐标原点) left , right , top , bottom 是 是 relative

vue静态资源放在src/assets与static目录下的区别

╄→гoц情女王★ 提交于 2020-03-26 11:06:13
assets 为了回答这个问题,我们首先需要了解Webpack如何处理静态资产。在 *.vue 组件中,所有模板和CSS都会被 vue-html-loader 及 css-loader 解析,并查找资源URL。例如,在 <img src="./logo.png"> 和 background: url(./logo.png) 中, "./logo.png" 是相对的资源路径,将由Webpack解析为模块依赖。 因为 logo.png 不是 JavaScript,当被视为模块依赖时,需要使用 url-loader 和 file-loader 处理它。vue-cli 的 webpack 脚手架已经配置了这些 loader,因此可以使用相对/模块路径。 由于这些资源可能在构建过程中被内联/复制/重命名,所以它们基本上是源代码的一部分。这就是为什么建议将Webpack 处理的静态资源放在 /src 目录中和其它源文件放一起的原因。事实上,甚至不必把它们全部放在 /src/assets :可以用 模块/组件 的组织方式来使用它们。例如,可以在每个放置组件的目录中存放静态资源。 static 相比之下, static/ 目录下的文件并不会被 Webpack 处理:它们会直接被复制到最终目录(默认是 dist/static )下。必须使用绝对路径引用这些文件,这是通过在 config.js

深圳面试题

风格不统一 提交于 2020-03-25 23:02:03
附加简历学习: Springcloud 用户注册, 以及 mq 用户多线程,同时发短信,异步,解耦,削峰 ⭐面试时记得录音,保留面试问的问题 蓝凌科技 Jq 获取数据框以及数据读取后怎么展示下拉框 Java 好处: https://www.cnblogs.com/yxj808/p/11936224.html 简单,跨平台,多线程,动态编译, gc 垃圾回收机制, java 类加载机制 Springmvc 实现原理 , 整个处理过程从一个 HTTP 请求开始: 1.Tomcat 在启动时加载解析 web.xml, 找到 spring mvc 的前端总控制器 DispatcherServlet, 并且通过 DispatcherServlet 来加载相关的配置文件信息。 2.DispatcherServlet 接收到客户端请求,找到对应 HandlerMapping ,根据映射规则,找到对应的处理器( Handler )。 3. 调用相应处理器中的处理法,处理该请求后,会返回一个 ModelAndView 。 4.DispatcherServlet 根据得到的 ModelAndView 中的视图对象,找到一个合适的 ViewResolver (视图解析器),根据视图解析器的配置, DispatcherServlet 将要显示的数据传给对应的视图,最后显示给用户。 aop 的使用 日志处理