- 博客(22)
- 收藏
- 关注
原创 jMetal官方文档汉化六:架构
架构整个jMetal5架构依赖于四个接口上面的框图展示了jMetal所提供的主要功能:算法( Algorithm 类)通过使用诸多操作符(Operators类)来处理一组潜在的解决方案( Solution 类)来解决特定的问题(Problem类)。解决方案( Solution 类)表示进化算法中的个体,以及粒子群优化算法中的粒子。问题(Problem类)可以创建新的个体或粒子并对其进行评估。与之前版本的jMetal相比,取消了定义人口或群体的类。在jMetal 5中改用一个解决方案列表(Java中的
2021-12-22 15:53:37
1803
原创 jMetal官方文档汉化五:编译
编译一旦您有了jMetal的源代码,您就可以通过多种方式使用它:从IDE或从终端的命令行。IDE是最简单的可行方案,如果您习惯了该工具,那么编译和运行算法就很容易了。Intellj Idea要构建项目,选择 Build -> Make Project[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BbL5tYY7-1640156852726)(E:\Jmetal\文档汉化\中文文档\figures\BuildIJICE14.png)]Eclipse如果设置了P
2021-12-22 15:07:44
460
原创 jMetal官方文档汉化四:算法运行
运行算法要使用jMetal运行算法,您有两种选择:使用IDE或使用命令行。我们将在本节中解释这两种方法。我们首先讨论如何配置启发式算法来解决问题。配置算法在jMetal 5中,为了配置和运行算法,我们需要为此编写一个类;我们把这样的类称为runner。用外部配置文件配置算法的功能还未实现。我们为jMetal中包含的每个算法都提供了至少一个runner类。它们可以在“jmetal exec”模块的文件夹中找到https://github.com/jMetal/jMetal/tree/master/jm
2021-12-22 14:58:43
787
原创 jMetal官方文档汉化三:要求
要求jMetal是用Java实现的。从5.2版开始,我们使用了Java8的特性,因此编译该项目需要JDK8或更高版本。由于jMetal是一个Maven项目,因此该工具也是编译、测试和打包代码的必要工具。此外,如果您使用代码执行实验研究,运行R脚本并编译生成Latex文件,则需要R和Latex。...
2021-12-21 21:00:07
270
原创 jMetal官方文档汉化二:安装
安装jMetal是一个托管在GitHub中的Maven项目,因此有两种获取软件的方法:将其作为依赖项添加到Maven项目中,或者从github上获取源代码https://github.com/jMetal/jMetal.使用jMetal作为Maven/Gradle依赖项jMetal 5分为四个子模块:jmetal core:核心体系结构的类加上一些实用程序,包括质量指标。jmetal algorithm:元启发式的实现。jmetal problem:问题的实现。jmetal exec:用于配
2021-12-21 20:55:51
932
原创 jMetal官方文档汉化一:框架介绍
框架介绍jMetal项目始于2006年,旨在创建一个易于使用、灵活、可扩展和可移植的基于启发式算法的多目标优化框架。框架从2008年开始发布在http://jmetal.sourceforge.net。从2014年至今,发布于https://github.com/jMetal/jMetal.自jMetal首次发布九年后,开发者们决定在2014年对该软件进行深层次的重做,重做的主要是基于下面这些考虑:架构要重新设计,在保证原先功能的基础上力求简洁。Maven被用作开发、测试、打包和部署的工具。通过
2021-12-21 20:45:28
1292
原创 插件学习笔记:搜索引擎ElasticSearch
ElasticSearch介绍ElasticSearch是一个实时分布式的高拓展全文搜索和分析引擎,是ELK(ElasticSearch, Kibana, Logstach的)技术的核心。ElasticSearch的优势在于模糊与全文查询,虽然关系型数据库也能够做到like关键字的模糊查询,但是会遍历整个表数据,响应很慢,因此需要使用搜索更加快捷的ElasticSearch来进行处理。主流的搜索引擎ES与Solr的相同点ElasticSearch和Solr都属于应用很广的搜索引擎,他们的基础都是L
2021-12-15 21:19:41
1675
原创 插件学习笔记:数据同步canal
Canal的作用监听数据库的数据变动,以进行一些处理,主要支持mysqlCanal工作原理Mysql的binlog模式mysql的binlog,即二进制日志(除此之外还有错误日志,查询日志慢查询日志,用于主从复制的中继日志等等)记录了所有的DDL和DML,也就是除了查询之外的语句,以事件的形式记录,还包括了语句执行的时间等信息,binlog主要有三种记录的模式STATEMENT 记录执行的语句,但是会导致数据的丢失(比如时间函数)ROW 记录变更的信息(产生大量的日志信息,canal需要使用这
2021-12-14 21:56:29
1062
原创 Leetcode刷题笔记——动态规划
layout: pagestitle: Leetcode刷题笔记——动态规划date: 2021-06-07 09:00:08categories: LeetCode刷题笔记tags: 算法1、目标和问题——基本的动态规划1.1、回溯穷举因为每一种可能都是会得到我们所需要的结果的,所以自然而然地可以想到使用回溯算法来解决class Solution { int result = 0; public int findTargetSumWays(int[] nums, i.
2021-06-08 09:15:25
291
原创 Java编程笔记——基于Comparator与sort的自定义排序
Arrays中有一个双参的的sort方法 public static <T> void sort(T[] a, Comparator<? super T> c) { if (c == null) { sort(a); } else { if (LegacyMergeSort.userRequested) legacyMergeSort(a, c);
2021-05-30 10:58:25
698
原创 LeetCode刷题笔记——贪心算法
一、贪心算法概述贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,算法得到的是在某种意义上的局部最优解,重点在于“局部”的选取二、典型例题2.1、去除重复字符串要求字典序最小,我们就尽可能地取寻找这样的子串,使得每一个字符都出现过,并且尽可能按照“abcdefg……”这样的字典升序排列拿“bcacb”来举例第一个遍历到的字符是b,我们将其存入结果中第二个字符是c,bc的结果是满足要求的,因此我们也将其存入结果中第三个字符是a,
2021-05-27 10:43:19
361
原创 LeetCode刷题——回溯算法
一、回溯算法介绍回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。下面以一道leetcode题目为例讲解一下回溯算法的计算过程以及回溯算法解题的主要步骤。下面以一道leetcode题目来进行回溯算法的算法题解以及代
2021-05-03 17:23:18
932
原创 MyBatis学习笔记三——映射配置文件
一、Mybatis映射配置文件组成首先给出一个映射配置文件的实例<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="org.mybatis.example.BlogMapper">
2021-04-23 13:58:07
461
原创 Mybatis学习笔记二——XML核心配置文件
一、核心配置文件概述首先给出xml核心配置文件的组成部分,核心配置文件由头部生命和配置两个部分所组成,头部声明包含一下内容<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">配置部分由configuration标签包
2021-04-21 21:41:55
561
原创 Mybatis学习笔记一——Mybatis的简介与入门
一、Mybatis简介Mybatis是一种优秀的半自动ORM持久层框架,几乎免除了所有的JDBC代码以及设置和获取相关内容的操作,可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。这里有几个需要注意的问题1、为什么说Mybatis是半自动的ORM持久层框架?首先,所谓ORM(Object Relational Mapping)就是指对象关系映射,也就是说将数据映射到封装好的对象当中
2021-04-21 15:43:59
221
原创 Java学习笔记——JavaWeb三大组件之Servlet
目录一、Servlet基本概念二、Servlet的工作原理三、Servlet的接口与实现类解析3.1、概述3.2、Servlet接口及其实现类3.2.1、Servlet接口3.2.2、GenericServlet抽象类3.2.3、HttpServlet抽象类3.3、ServletRequest接口及其拓展接口.3.3.1、ServletRequest接口3.3.2、HttpServletRequest接口3.4、ServletResponse接口及其拓展接口3.4.1、ServletResponse接口3.
2021-04-19 15:25:08
461
原创 Java学习笔记——反射机制
一、反射的概述从使用上来讲,反射就是获取某一类对象的属性、构造方法和方法,并对这些属性和方法进行操作,如设置访问权限、运行方法等。效果上,反射能够提高代码的复用性,降低耦合度,因此许多的框架中都使用了反射的机制,下面就对反射的相关使用进行介绍,分别对应获取类及对类的操作、获取构造方法及对构造方法的操作、获取熟悉及对属性的操作、获取方法及对方法的操作。并最后给出一个使用实例,更好地体会反射机制所带来的代码复用性的提高。二、反射的方法概述在测试开始之前先设置一Student测试类如下所示,该测试类参考
2021-04-17 15:04:52
217
原创 Mybatis遇到的形形色色的错误
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)外在表现上,target文件没有加载xml,这是因为我把Dao类放在了java文件夹下的dao/front中,而其对应的xml只是放在resources的front中,并不一致,因此造成了这个错误这就说明Myabtis的映射配置文件的命名空间、类、变量名称、文件夹位置都要与Dao类完全一直才可以...
2021-04-16 21:45:53
366
原创 Java学习笔记——关于请求转发、请求包含和重定向
1、请求转发与请求包含RequestDispatcher对象从客户端获取请求request,并把它们传递给服务器上的servlet,html或jsp。它有两个方法:1.1、请求转发Servlet(源组件)先对客户请求做一些预处理操作(一般是对响应头进行处理),然后把请求转发给其他Servlet(目标组件)来完成包括生成响应结果在内的后续操作。实现方法:request.getRequestDispatcher(“接收请求的Servlet 路径”). forward(request,response)
2021-04-09 17:10:37
1880
原创 Java编程笔记——Properties配置文件的加载
为什么要使用配置文件之所以要使用配置文件,目的在于降低代码的耦合性,提高代码的复用性,即争取做到代码敲好之后不再需要进行更改,只对配置文件修改就可以达成修改代码功能的目的。下面就细说一下Jedis线程池工具类的开发,来说一下Properties配置文件的使用配置文件如下:host=localhostport=6379maxTotal=50maxIdle=10如下是一个线程池工具类的开发过程,首先以一个static代码块进行了必要的配置。因为static代码块中的语句会随着类的加载一起加载,因
2021-04-07 16:25:30
373
原创 LeetCode刷题笔记——递归问题
一、递归的基本概念1.1、什么是递归所谓递归,就是程序调用自身的编程技巧。递归的方法或函数一定是有参的,但在对参数本身进行操作的情况下可以无返回值1.2、递归类题目的特点从递归的概念可以看出,递归类问题的最重要的特点就是一个大问题总能拆分成结构类似的小问题,最常见的像快速排序算法的实现,一个大组根据分界值可以分成左右两个小组,两个小组又可以分别各自的分界值进行分类,根据这一“”大问题分成类似小问题“的判断方式,就可以很容易地判断出哪些题目该通过递归的方式解决,下面就给出各个递归题目的详解。二、递归
2021-04-06 23:14:02
500
原创 Java学习笔记——关于getAttribute和getParameter
关于getAttribute和getParameter的区别,博主疯狂的卡夫卡给出了很好的区别上图所示的是getParameter的工作流程这里给出的是getAttribut的工作流程两者区别:①getParameter()获取的是客户端设置的数据。getAttribute()获取的是服务器设置的数据。②getParameter()永远返回字符串getAttribute()返回值是任意类型既然parameter和attribute都是传递参数,为什么不直接使用parameter呢?①服
2021-04-01 17:40:06
841
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅