软件工程(三)

SE

  

2019-12-29 09:05:36

第八章 设计优化 一 小即是美 (那我可能丑到爆炸了) 1 设计的“味道”(由内味了) 僵化性,脆弱性,顽固性,粘滞性 不必要的复杂性,不必要的重复性,晦涩性 2 设计的优化 1.运行时的多态:多态性在结构上形成类的继承层次 2.重写的要求: 重写的方法本质上与父类方法具有相似的行为,但在细节上进行了有针对性的调整 重写的方法与原方法在相同的条件作用下工作,子类的方法不应具...

Java SE学习记录二

Java SE

  

2019-07-22 11:27:32

Java的数据类型分为基本数据类型和引用数据类型,其中基本数据类型包括:整型,浮点型,字符型和布尔型,而引用数据类型包括:数组,类和接口。 作为一个接触最早的引用数据类型,数组一组相同数据类型的组合 数组是Java中一个非常重要的概念,在实际开发中,数组的使用非常频繁,且生产环境中数组中储存的数据通常不仅仅是基本数据类型这么简单,绝大数情况下,储存的会是引用数据类型,如各种类或者接口。 数组之冒泡...

Java SE学习记录一

Java SE

  

2019-07-22 15:26:31

这是Java基础部分的总结,笔者是用的百度脑图绘制的一个知识点的树状图,主要涉及到Java SE的一些基础的知识: Java的数据类型,应该是比较重要的,这里面笔者认为比较难以理解的一个知识点就是关于数据类型的转换: Java默认的整数数据类型是int,浮点型是double,在定义变量过程中,当给一个范围大于默认数据类型的数据如:long型赋值时,通常是一个自动类型转换过程。 例如: long l...

Java注解基础

Java SE

  

2019-08-04 20:20:38

  Java的注解在学习框架的时候很常见,一般配置信息都可以通过配置文件和注解两种方式进行配置,所以最近小码农就大致学习了一下注解。 注解的作用   首先,注解是和类、接口同一层次的东西。它是那些插入到源代码中并且使用其他工具可以对其进行处理的标签。常见的注解都是@xxx的形式。那么具体的来说,注解常用来干什么呢? 代码分析:对代码进行分析,可以取代xml文...

JavaSE面试题

SE面试

  

2019-10-08 22:04:50

JavaSE基础知识 1.一个”.java”源文件中是否可以包括多个类(不是内部类)?有什么限制? 2.Java 有没有 goto 3.说说&和&&的区别? 1 &和&&都可以用作逻辑与的运算符,表示逻辑与(and) 2 &&具有短路的功能,即如果第一个表达式为 false,则不再计算第二个表达式 3 &...

Map&Set分析

Java SE

  

2019-10-15 14:45:34

  说到Map,大家都知道它是双列集合的根接口,用来保存键值对数据。但很多时候人们对于它实现类的效率和使用限制都是通过别人的总结记住的,所以今天就从数据结构的角度和大家一起分析它的几个常用实现类:HashMap、HashTable、ConcurrentHashMap、LinkedHashMap和TreeMap。   在分析源码之前我们先来看看一些常用的API...

动态内存分配主要有四种算法: (1) 首次适应算法:每次都从低地址开始查找,找到第一个能满足大小的空闲分区。 (2) 循环首次适应算法:首次适应算法每次要从头找,增加了查找的开销,也可能在低地 址上产生难以利用的小碎片。循环首次适应算法从上一次结束的位置开始查找。 (3) 最佳适应算法:为了保证当“大进程”到来时能有连续的大片空间,可以尽可能的多 留下大片空闲区,即,优先使...

概要 本篇我们来看看shard内部的一些操作原理,了解一下人家是怎么玩的。 倒排索引 倒排索引的结构,是非常适合用来做搜索的,Elasticsearch会为索引的每个index为analyzed的字段建立倒排索引。 基本结构 倒排索引包含以下几个部分: 某个关键词的doc list 某个关键词的所有doc的数量IDF(inverse document frequency) 某个关键词在每个doc中...

java--jdbc

java SE

  

2020-01-25 17:45:12

1.jdbc的测试代码 maven依赖 2.源码浅析 try { //加载驱动到jvm Class.forName(“com.mysql.jdbc.Driver”); } catch (ClassNotFoundException e) { e.printStackTrace(); } 注册驱动,实际就是放到 private final static CopyOnWrite...

Java基础(11)-----注解

java  annotation  se  reflect

  

2019-06-07 16:05:58

思维导图   首先,注解存在的意义就是在为了在以后的某个时间获得注解所提供的信息. 其次,注解是不可继承的.(一个注解不能继承另一个注解) 一.注解的分类 在java中,注解可以分类3类 内置注解:这是java.lang提供的注解,功能有限 元注解:注解的注解,利用他们以构造新的注解 新注解:我们自己构建的注解,可以提供我们自定义的需要的信息 1.1内置注解 @override,表示此方...

J2SE总结(一)

J2SE

  

2019-06-20 14:53:37

递归: 在一个方法内部对自身进行调用; 上图中的method方法里面又调用了method方法; Java格式: 和C#的区别在于java的大括号在第一行结尾; 缩进Shift+Tab是一个很好用的快捷键; 三目条件运算符: 语法格式:x?y:z x为boolean类型,x的结果为True则三目运算结果为y的值,否则为z的值; 例: 80 > 60结果为False,结果为及格; 程序运行中堆和...

多线程返回值的例子

多线程  java se

  

2019-06-24 18:57:53

当我们面临大量数据查询的时候,在我有限的技术生涯中,想到两种解决方案。 1.建立专业的solr查询引擎,实现全文检索。 2.多线程加速查询的过程。   后台管理系统,数据量不算大,但是来源较多。较杂。 目前的处理方式是用多线程实现。   那么,问题来了,多线程的查询,关键问题在于,传递了参数,如何将查询出的结果返回。   解决方案是采用Callable:  ...

一、报错问题解决 在使用Callablejiek接口实现多线程查询的时候,当时自己采用了subList方法去截取list,传递给xian线程处理。 后续,在查询的过程中,报出了ConcurrentModificationException错误,查资料之后发现,这个错误的核心问题,是由于在duoc多线程环境下,多个线程同时访问or修改同一个对象导致的。   百思不得其解。后续,将subLi...

Java基础(7)-----数组

java  se  array

  

2019-08-24 09:23:13

思维导图  数组存在的唯一作用就是效率,他的随机访问速度比ArrayList都要快很多,但是,由此而来的缺点就是其大小是不可变的. 数组虽然不在面向对象的概念里,但是也属于Java对象,存在引用和实例.  数组一般是不可以和泛型配合使用的,因为Java的泛型机制会在某个阶段擦除泛型,即所有泛型都会被编译器认为是Object,而数组却在创建的那一刻就确定了装载何种数据类型,所以,...

大数据量查询优化

多线程  java se

  

2019-09-05 00:15:24

问题描述:涉及到大数据量,多循环查询的时候,往往查询的速度会变慢,影响系统的使用性能。该问题,在测试环境尚不明显,因为测试环境的数据量毕竟是有限的。 但是,一旦将代码更新到线上的真实系统,因为数据量一下子增大,会造成数据查询的缓慢,所造成的严重迟滞,就不能被忽略了。 业务场景:云计算系统。底层会将采集过来的宿主机流量数据,进行保存。后台管理系统,需要定时计算从底层传递过来的宿主机的带宽的总体实际使...