自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 【MPS】Jetbrains MPS入门案例Shapes(四)

上一篇文章介绍了MPS入门案例中添加颜色属性的过程,这篇文章将介绍如何将实例模型转换为Java代码,并且通过调用Java图形化编程库来绘制图形的方法,主要是通过MPS的生成器Generator来生成Java代码的,这是本人觉得最有意思的一部分。除了生成Java代码还可以生成XML文件、JS文件等,还可以通过Editor Generator生成任意想要生成的问本或者语言。配置Canvas到Rule...

2019-09-28 12:01:07 1980 3

原创 【MPS】Jetbrains MPS入门案例Shapes(三)

定义完Editor之后Rebuild一下项目此时多出一个accessories目录,选中下面的Shapes.colors选项,按ALT + Enter进行Used Languages的导入:

2019-08-31 13:16:53 1729 2

原创 【MPS】Jetbrains MPS入门案例Shapes(二)

上一篇文章介绍了MPS入门案例Shapes中创建Concept的过程,这篇文章将介绍如果创建Shapes这个DSL的Editor,它在语言层面上描述的是某种DSL的具体语法(Concrete Syntax),也就是建模时写的代码(包含关键字、格式等),我们通常说的C++、Java、Python等的语法事实上指的就是这些语言的具体语法。创建Editor由于Shape是一个抽象的Concept,所...

2019-08-23 23:30:15 1667 3

原创 【MPS】Jetbrains MPS入门案例Shapes(一)

JetBrains 凭借 MPS 推出新的编程范式MPS (Meta Programming System) 是一个执行面向语言编程范式的全新概念的软件开发环境,用于创建实际应用和领域专用语言。 MPS 是一个让专业软件开发人员创建新的自定义语言、扩充现有语言以及使用这些语言来开发程序的环境。MPS 还是一种用于创建领域专用语言 (DSL) 的工具。对编程不甚熟悉的领域专业人士可轻松使用通...

2019-08-23 00:33:30 10828 12

原创 【Hadoop】IDEA调试Docker上的Hadoop

文章目录IDEA调试Docker上的Hadoop安装JDK安装IDEA创建Maven项目编写WordCount程序本地执行MapReduce程序创建测试数据执行WordCount程序连接Docker集群执行WordCount修改Hadoop配置配置log4j删除output目录配置执行参数执行WordCount补充内容备份镜像可能要用到的一些命令IDEA调试Docker上的Hadoop上一篇...

2019-04-21 13:52:54 3174 4

原创 【Hadoop】Docker搭建Hadoop环境

文章目录Docker搭建Hadoop环境Docker的安装与使用拉取镜像克隆配置脚本创建网桥执行脚本Docker命令补充更换镜像源安装vim启动Hadoop测试Word Count查看Web管理页面Docker搭建Hadoop环境Hadoop集群环境配置起来相当繁琐,并且在学习Hadoop过程中没有一般不会去使用多台设备进行分布式集群配置。因此在一台机器上配置Hadoop分布式集群时通常采用...

2019-04-21 10:01:43 20998 13

原创 【Java】对equals、hashCode和==的理解

equalsequals比较两个对象的内容是否相等,准确的说是用户或者需求认为两个对象相等两个对象就相等,比如下面两个类:public class Student { private String name; private int age; public Student(String name, int age) { this.name = name; this.age = age; }

2020-07-14 11:10:35 207 1

原创 【LeetCode】1114. Print in Order(多线程:按序打印)

LeetCode新出了一类多线程的题目,主要考察的是对编程语言中多线程的用法以及多线程的算法,目前只有四题,这篇博客是对第一个1114这个多线程题目的分析。题目Suppose we have a class:public class Foo { public void first() { print("first"); } public void second() { print...

2019-07-31 21:37:00 1046 3

原创 【Java】对Java函数式接口(Functional Interface)的理解

函数式接口(Functional Interface)就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。函数式接口可以被隐式转换为 lambda 表达式。Lambda 表达式和方法引用(实际上也可认为是Lambda表达式)上。如定义了一个函数式接口如下:@FunctionalInterfaceinterface GreetingService { void sa...

2019-07-23 08:43:44 624 1

原创 【JVM】while程序的字节码分析

while程序的字节码分析首先来看两个最简单的while程序,不包含任何变量:程序1:public class Test { public static void main(String[] args) { while(true) { } }}字节码指令:public class com.wangyao2221.jvm.test.T...

2019-07-17 20:42:30 232

原创 【LeetCode】1105. Filling Bookcase Shelves(填充书架)

题目附近的家居城促销,你买回了一直心仪的可调节书架,打算把自己的书都整理到新的书架上。你把要摆放的书 books 都整理好,叠成一摞:从上往下,第 i 本书的厚度为 books[i][0],高度为 books[i][1]。按顺序 将这些书摆放到总宽度为 shelf_width 的书架上。先选几本书放在书架上(它们的厚度之和小于等于书架的宽度 shelf_width),然后再建一层书架。重复...

2019-07-14 10:29:49 1304

原创 【LeetCode】1104. Path In Zigzag Labelled Binary Tree

题目In an infinite binary tree where every node has two children, the nodes are labelled in row order.In the odd numbered rows (ie., the first, third, fifth,…), the labelling is left to right, while ...

2019-06-30 13:53:25 463

原创 【面试题】有序数组截断、交换后的查找算法

题目将一段有序数组从中间某个位置截断,分成两部分,比如1,2,3,4,5,6,7,8从4的位置截断成两部分1,2,3,4和5,6,7,8,然后交换这两部分的顺序变成5,6,7,8,1,2,3,4,写成对变换后的数组的查找算法,如果查找成功则返回在数组中的索引(变换后),查找失败则返回-1分析这道题直接for循环遍历可以完成,但这是一道面试题,那就要考虑尽可能降低算法的时间复杂度,所以考虑一下...

2019-06-28 21:14:54 1433 1

原创 【LeetCode】1081. Smallest Subsequence of Distinct Characters

题目Return the lexicographically smallest subsequence of text that contains all the distinct characters of text exactly once.Example 1:Input: "cdadabcc"Output: "adbc"Example 2:Input: "abcd"Outp...

2019-06-20 20:43:05 875

原创 【LeetCode】1010. Pairs of Songs With Total Durations Divisible by 60

题目https://leetcode.com/problems/pairs-of-songs-with-total-durations-divisible-by-60/In a list of songs, the i-th song has a duration of time[i] seconds. Return the number of pairs of songs for whi...

2019-06-18 22:30:45 340

原创 【CodeWars】Path Finder #2: shortest path

题意题目链接:https://www.codewars.com/kata/path-finder-number-2-shortest-pathTaskYou are at position [0, 0] in maze NxN and you can only move in one of the four cardinal directions (i.e. North, East, S...

2019-06-09 13:28:37 526

原创 【CodeWars】int32 to IPv4

题意题目链接:https://www.codewars.com/kata/int32-to-ipv4/train/java/5cebc1b2c6c7fc0022674279题目意思是将一个长整型的的数字转换成ipv4,比如2149583361的二进制表示是10000000001000000000101000000001,而ipv4是每个点是之间的数值大小取值是0~255,也就是二进制的八位...

2019-06-02 20:54:32 356

原创 【CodeWars】Counting Duplicates

题意题目链接:https://www.codewars.com/kata/counting-duplicates/train/java/5cf118cee10216001acc1c83题目意思很简单,就是求出给定字符串中出现次数最多的字符出现的次数,如果是字母则大小写,思路也比较简单,有人使用Map来记录字符出现的次数去实现,我的做法是定义一个大小为ASCII最大值(127)的数组,以每个...

2019-06-02 20:21:50 736

原创 【CodeWars】Ones and Zeros

1.题意题目的意思是给定一个整型数组,数组的每个元素只能取0或1,将数组所有元素按序组成的二进制串转换成十进制的数值2. 代码代码很简单,按照二进制计算的思路来写就行,假设返回的值是sum,初始化为0,从第一位开始,进行sum = sum * 2,然后再加上当前值,直到算完最后一位,我这里使用位运算,事实上和前面是一样的,只是更贴合二进制计算的本质import java.util.List...

2019-05-27 18:48:46 253

原创 【CodeWars】Human readable duration format

1.题意题目意思很简单,就是给定一个秒数seconds,计算这个seconds的year、day、hour、minute、second,以"1year, 2 days, 1 hour, 1 minute and 2 seconds"这样形式的字符串返回,其中数值为0 的部分不显示,最后一个数值用"and"拼接,如果这个0秒则返回"now"2.代码一开始想的是算出这些值,然后用if else来...

2019-05-27 18:31:24 852

原创 【CodeWars】Square into Squares. Protect trees!

1.题意这题的意思是给定一个数字n,在经过decompose(n)处理之后得到一个一组数字,这组数字的平方和要等于n^2,这组数中最大值要小于n(如果可以等于n的话直接返回n就是了),并且如果存在多组解需要取最大值最大的那组解。就像题目中的例子说的那样:Examplesdecompose(11) must return [1,2,4,10]. Note that there are act...

2019-05-25 11:03:17 978

原创 【Spring】java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

Spring无法找到某些类的问题在使用Spring我们经常会遇到某些外部引用的类无法找到或无法加载的问题,特别是使用依赖注入时遇到此类问题特别头痛,我在此列出几个可能的情况,希望能帮到遇到此类问题的人项目中没有引入响应的jar包解决办法:根据报错信息确定缺少哪些包,搜索下载对应包导入并添加为依赖导入了jar包但是运行时却仍然找不到对应类(笔者在使用IDEA时遇到此问题,不知道在e...

2019-03-11 22:07:03 1258 1

原创 【Java】Java IO之字节流与字符流

Java IO(一) 字节流与字符流在日常写代码中,用到文件读取时会看到各种XXXInputStream、XXXOutputStream类,Java的基本IO流名字命名都是这样一种形式,以至于很容易将IO类混淆,很难记住其中的区别,笔者将对Java IO中的类进行区别分析。首先从字节流和字符流的区别开始讲起。字节流和字符流的区别字节流是用于读写字节数据的(比如图像、视频数据)字符流...

2019-02-26 23:02:19 185

转载 【Java】VO、DTO、DO、PO的区别

上一篇文章作为一个引子,说明了领域驱动设计的优势,从本篇文章开始,笔者将会结合自己的实际经验,谈及领域驱动设计的应用。本篇文章主要讨论一下我们经常会用到的一些对象:VO、DTO、DO和PO。  由于不同的项目和开发人员有不同的命名习惯,这里我首先对上述的概念进行一个简单描述,名字只是个标识,我们重点关注其概念:  概念:  VO(View Object):视图对象,用于展示层,它的作用...

2019-02-08 10:31:21 719

原创 【Linux】Linux安装cryptominisat(Python)

cryptominisat的github地址为cryptominisat其中Python使用cryptominisat的安装步骤如下sudo apt-get install build-essential cmakesudo apt-get install zlib1g-dev libboost-program-options-dev libm4ri-dev libsqlite3-dev...

2018-12-24 21:47:19 1186 1

原创 【数据挖掘】数据挖掘经典算法之The K-means algorithm

聚类  聚类是一种无监督的学习,它将相似的对象归到同一个簇中。聚类的方法几乎可以应用于所有对象,簇内的对象越相似,聚类的效果越好。K-means(K-均值聚类)算法使一种聚类算法。之所以称之为K-均值使因为它可以发现k个不同的簇,且每个簇的中心采用簇中所含值的均值计算而成。K-均值聚类算法  K-均值是发现给定数据集的k个簇的算法。簇个数k是用户给定的,每一个簇通过其聚类中心,即簇中所有点的...

2018-12-04 19:09:55 274

原创 【算法】无向图中的环

无向图中的环判断一个具有n个结点m条边的无向图中是否包含环,如果包含则输出其中一个环,要求时间复杂度为O(m+n)。可以根据对图的深度优先算法(DSF)拓展来求解此题。主要过程如下:用数组VST[]记录图中访问过的结点(如 VST[i] 表示第i个结点已经被访问)用PRE[]记录当前结点的父结点的位置(如 PRE[i]=j 表示i个结点的父结点的位置是j)通过DFS来搜索图中的结点,当搜...

2018-10-29 20:02:47 6415 1

原创 【Linux】Ubuntu修改默认JDK

Linux中的OpenJDK和JDKOpenJDK和JDK的区别​ 在大多数LINUX发行版本里,内置或者通过软件源安装JDK的话,都是安装的OpenJDK。JDK具体指的是SunJDK(更确切的说是OracleJDK)。​ OpenJDK是JDK的开放原始码版本,以GPL协议的形式放出。在JDK7的时候,OpenJDK已经成为JDK7的主干开发,Sun JDK7是在OpenJDK7的基础上...

2018-09-28 16:31:05 2098 1

转载 【Java】JAVA IO中的设计模式

在java语言 I/O库的设计中,使用了两个结构模式,即装饰模式和适配器模式。 在任何一种计算机语言中,输入/输出都是一个很重要的部分。与一般的计算机语言相比,java将输入/输出的功能和使用范畴做了很大的扩充。因此输入输出在java语言中占有极为重要的位置。java语言采用流的机制来实现输入/输出。所谓流,就是数据的有序排列,流可以是从某个源(称为流源,或者 Source of St

2017-09-02 16:40:28 740

转载 【Java】浅析VO、DTO、DO、PO的概念、区别和用处

上一篇文章作为一个引子,说明了领域驱动设计的优势,从本篇文章开始,笔者将会结合自己的实际经验,谈及领域驱动设计的应用。本篇文章主要讨论一下我们经常会用到的一些对象:VO、DTO、DO和PO。  由于不同的项目和开发人员有不同的命名习惯,这里我首先对上述的概念进行一个简单描述,名字只是个标识,我们重点关注其概念:  概念:  VO(View Object):视图对象,用于展示层,它的作用是把某个指定页

2017-09-01 21:12:32 454

原创 【SpringBoot】SpringBoot使用thymeleaf模板引擎

按照http://blog.csdn.net/u012706811/article/details/52185345里的方法配置thymeleaf,启动时出现下列异常Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.Be

2017-03-20 14:05:52 8217 10

转载 【SpringBoot】maven打包出现com.sun.image.codec.jpeg does not exist报错

记录一下 mvn打包SpringBoot出现jpeg 包不存在的的问题 package com.sun.image.codec.jpeg does not exist [duplicate]解决办法: 在pom.xml中bulid -> publgins加入:<plugin> <configuration> <encodi

2017-03-05 15:10:54 2868

转载 【Android】Android 日常开发总结的技术经验 60 条

Android 日常开发总结的技术经验 60 条 https://zhuanlan.zhihu.com/p/24778925?utm_source=qq&utm_medium=social

2017-01-19 11:10:08 275

转载 【Android】Retrofit和RxJava

写得很好的两篇 (掘金)我们真的需要使用RxJava+Retrofit吗? https://gold.xitu.io/post/584eb780128fe10058b4c38b(匠心写作)给 Android 开发者的 RxJava 详解 http://gank.io/post/560e15be2dca930e00da1083

2017-01-16 11:24:25 233

原创 【Android】第一个Kotlin Android

1、创建Android项目2、把MainActivity通过code→Convert Java file to Kotlin File3、Configure Kotlin in project(点两下Shift搜索),并修改build.gradle(project)和build.gradle(Moudle:app)里的kotlin版本,要注意的是分别要有classpath “org.jetbrain

2017-01-11 20:06:50 220

原创 【算法】快速排序遇到的问题

public static int partion(int[] list, int first, int last) { int pivot = list[first]; int low = first + 1; int high = last; while (low < high) { //从左往右找到大于主元的元素

2017-01-11 20:02:08 583

原创 【JavaWeb】服务器Hibernate、Struts2获取数据库数据并传递出去的总结

所用到的框架Hibernate、Struts2整个过程1、通过Hibernate的逆向工程生成数据库表的bean映射文件2、新建包,形成基本架构3、Dao的实现类4、Service的实现类调用Dao,把数据封装成JSONArray数据返回给Aciton5、Action带哦用Service,在struts.xml配置result,类型为json遇到的问题1、Hibernatea.找不到资源文件

2017-01-11 19:55:42 1599

转载 【JavaWeb】hibernate HQL查询参数设置

Hibernate中对动态查询参数绑定提供了丰富的支持,那么什么是查询参数动态绑定呢?其实如果我们熟悉传统JDBC编程的话,我们就不难理解查询参数动态绑定,如下代码传统JDBC的参数绑定:PrepareStatement pre=connection.prepare(“select * from User where user.name=?”);pre.setString(1,”zhaoxin”)

2017-01-11 19:33:48 1287

原创 【数据库】MySQL合并同一个表中的同类型字段到同一列

最近在做考研相关的项目,中途遇到一个sql查询的问题表scope是一个关于考研科目的表,其中包含了考研政治,考研英语,考研数学以及考研专业科这些字段,学校+专业决定考研科目,我要查询得到某个学校某个专业要考哪些科目,就想把这几个字段合并为一列。比如:学校专业政治外语专业科一专业科二学校A专业A思想政治理论英语一西方哲学史一马克思主义哲学学校A专业A思想政治理论俄语西方

2017-01-08 00:55:34 4480

原创 【Spring】使用SpringMVC注解ResponseBody返回Json数据可能遇到的问题

1、SpringMVC的版本和jackson版本比兼容问题从SpringMVC 4.1.0开始使用的jackson版本是jackson 2.5.12.注意要配置jackson配置下json转化bean,在spring-mvc中加入以下配置<bean id="mappingJacksonHttpMessageConverter" class="org.springframe...

2016-11-28 10:59:23 447

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除