- 博客(34)
- 资源 (15)
- 收藏
- 关注
原创 Java实现一个简单的RPC框架(七) 反射机制调用类函数
ServiceRegister.javaimport java.util.HashMap;import java.lang.reflect.*;/** * 通过register()去注册服务,通过get_service()去获取服务名对应的function * @author xchen * */public class ServiceRegister { int arg1
2016-12-24 08:37:42 1182 3
原创 Java实现一个简单的RPC框架(六) 注册机制
注册就是Server要声明支持那些RPC方法,比如我们之前Server支持‘sayHello’和‘add’方法,其它的方法就无法识别。我们是之前把注册功能写在了procRequest函数中,但是这样写的话,我么每次新增一个rpc方法的时候就需要修改这个函数,如何避免?引入服务注册机制。String procRequest(String reqStr) { //retur
2016-12-24 08:36:56 1774
原创 Java实现一个简单的RPC框架(五) 基于Socket的传输层实现
参考:crylearner专栏 一个简单的RPC框架是如何炼成的 :http://blog.csdn.net/crylearner/article/details/46898537前面我们已经是实现了本地功能调用、指定简单的协议并通过协议实现调用、带参数的本地功能调用、编码解码功能,但是我们的调用都是基于本地的,我们还没有实现远程调用,接下来我们来实现传输层。这里我们基于sock
2016-12-24 08:36:04 1534
原创 借助SourceTree使用Github(四) 修改过的本地项目提交到Github
前面我们将一个只含有readme文件的项目克隆到了本地,接下来我们修改这个readme文件,并将它上传到Github上,使Github上的文件与本地一致。1)修改README.md文件,以便我们后续测试上传项目到Github的功能.md文件推荐用软件Mou来修改,可视化做的特别的友好,左边是代码,右边实时的显示效果,下载地址:http://25.io/mou/。下面我新增了一行
2016-12-14 14:56:22 2685 1
原创 借助SourceTree使用Github(三) clone项目到本地
前面我们已经创建了一个新的远程仓库,现在这个仓库是空的,接下来我们要,给这个仓库添加一点东西(这里以添加一个readme文件为例),然后将它clone到本地。1)给我们的仓库添加点文件,以便我们测试后续的clone功能,这里以给仓库添加一个readme文件为例。登录Github网页,进入前面创建的SourceTreeTest仓库,点击README超链接编辑README文
2016-12-14 12:02:08 11558
原创 借助SourceTree使用Github(二) 建立远程仓库
前面我们已经配置好帐号了,接下来我们建立一个远程仓库1)点击“新仓库”-“创建远程仓库”2)填写仓库信息:仓库名称、仓库描述、仓库类型选择Git、如果不想公开代码则将私有仓库选择打勾创建成功!
2016-12-14 12:01:06 4589
原创 借助SourceTree使用Github(一) 配置帐号
SourceTree APP 官网使用指南地址:https://confluence.atlassian.com/bitbucket/tutorial-learn-sourcetree-with-bitbucket-cloud-760120235.html?_ga=1.46834850.426958240.1481506386
2016-12-14 10:45:19 26899
原创 Java实现一个简单的RPC框架(四) 编码和解码
参考:crylearner专栏 一个简单的RPC框架是如何炼成的 :http://blog.csdn.net/crylearner/article/details/46898537前面我们已经实现了基于协议的RPC调用(还未实现远程)。我们是基于Java中定义的Request类和Response类来进行直接的内存变量传递,当基于远处调用时候,必须是跨设备的字符串传输,
2016-12-13 22:12:36 1163
原创 Java实现一个简单的RPC框架(三) 带参数的本地调用
参考:crylearner专栏 一个简单的RPC框架是如何炼成的 :http://blog.csdn.net/crylearner/article/details/46898537上面我们已经实现了通过我们指定的协议调用本地的其它类的函数来实现自己的功能,接下来我们要实现带参数的RPC调用。这里我以add(a,b)为例子,为了实现这个功能,我们的请求方多了两个参数a和b,那么
2016-12-13 22:12:20 1307
原创 Java实现一个简单的RPC框架(二) 协议
参考:crylearner专栏 一个简单的RPC框架是如何炼成的 :http://blog.csdn.net/crylearner/article/details/46898537上面我们已经实现了简单的本地功能调用,接下来我们来为调用的双方定一个简单的协议,例如,这里我的调用方发出的RPC请求:包含一个请求id和一个请求command,如‘sayHello’被调用者返回
2016-12-13 22:11:57 736
原创 Java实现一个简单的RPC框架(一) 本地调用
参考:crylearner专栏 一个简单的RPC框架是如何炼成的 :http://blog.csdn.net/crylearner/article/details/46898537什么是RPC:其实就是我把参数传给你,你处理完之后把返回值回传给我。只不过双方不在同一台机,这就是所谓的“远程过程调用”,简称RPC。rpc框架做的最重要的一件事情就是封装,调用
2016-12-13 21:03:31 2408
原创 LeetCode 7 Reverse Integer题解
题目地址:https://leetcode.com/problems/reverse-integer/题目:Reverse digits of an integer.按位反转一个int型数。Example1: x = 123, return 321Example2: x = -123, return -321先不考虑正负和溢出按数值来反转一个数,
2016-12-13 15:22:30 494
原创 LeetCode 283 Move Zeroes题解
题目地址:https://leetcode.com/problems/move-zeroes/题目:Given an array nums, write a function to move all 0's to the end of it while maintaining the relative order of the non-zero elements.给定一
2016-12-05 21:48:33 324
原创 LeetCode 204 Count Primes题解
题目地址:https://leetcode.com/problems/count-primes/题目:Description:Count the number of prime numbers less than a non-negative number, n.计算比n小的非负数中素数的个数。算法设计:素数的特点:一个素数只能被自己和1整除。就是说素数不能被比
2016-12-05 21:15:25 397
原创 LeetCode 141 Linked List Cycle题解
题目地址:https://leetcode.com/problems/linked-list-cycle/题目:Given a linked list, determine if it has a cycle in it.给定一个链表,找出链表中是否存在循环Follow up:Can you solve it without using extra space?
2016-12-05 21:00:50 348
原创 LeetCode 104 Maximum Depth of Binary Tree题解
题目地址:https://leetcode.com/problems/maximum-depth-of-binary-tree/题目:Given a binary tree, find its maximum depth.给定一个二叉树,找出它的最大深度。The maximum depth is the number of nodes along the longe
2016-12-05 20:54:11 355
原创 LeetCode 237 Delete Node in a Linked List
题目地址:https://leetcode.com/problems/delete-node-in-a-linked-list/题目:Write a function to delete a node (except the tail) in a singly linked list, given only access to that node.写一个函数删除一个单链表中
2016-12-05 20:38:42 304
原创 LeetCode 70 Climbing Stairs题解
题目地址:https://leetcode.com/problems/climbing-stairs/题目:You are climbing a stair case. It takes n steps to reach to the top.你正在爬楼梯,这个楼梯有n个台阶。Each time you can either climb 1 or 2 steps.
2016-12-05 20:19:13 355
原创 LeetCode 15 3Sum题解
题目地址:https://leetcode.com/problems/3sum/题目:Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all unique triplets in the array which gives the
2016-12-05 20:10:01 383
原创 LeetCode 12 Integer to Roman题解
题目地址:https://leetcode.com/problems/integer-to-roman/题目:Given an integer, convert it to a roman numeral.给定一个数,将它转化为罗马数值。Input is guaranteed to be within the range from 1 to 3999.
2016-12-05 19:58:50 377
原创 LeetCode 242 Valid Anagram题解
题目:https://leetcode.com/problems/valid-anagram/题目:Given two strings s and t, write a function to determine if t is an anagram of s.给定两个字符串s和t,写出一个函数来判断t是否是s的变位词。For example,s = "anag
2016-12-05 14:19:39 412
原创 LeetCode 189 Rotate Array题解
题目地址:https://leetcode.com/problems/rotate-array/题目:Rotate an array of n elements to the right by k steps.将一个具有n个元素的数组向右移动k个位置。For example, with n = 7 and k = 3, the array [1,2,3,4,5,6,
2016-12-05 14:08:49 456
原创 LeetCode 171 Excel Sheet Column Number题解
题目地址:https://leetcode.com/problems/excel-sheet-column-number/题目:Given a column title as appear in an Excel sheet, return its corresponding column number.给定一个表,表中有列标题和其对应的列数字,返回给出的标题对应的数字。
2016-12-05 13:59:26 331
原创 LeetCode 121 Best Time to Buy and Sell Stock题解
题目地址:https://leetcode.com/problems/best-time-to-buy-and-sell-stock/题目:Say you have an array for which the ith element is the price of a given stock on day i.给定一个数组,第i个数组元素的值表示第i天的股价。If
2016-12-05 13:33:24 304
原创 LeetCode 169 Majority Element题解
题目地址:https://leetcode.com/problems/majority-element/题目:Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋ times.给定一个长度为
2016-12-05 11:12:29 366
原创 LeetCode 58 Length of Last Word题解
题目地址:https://leetcode.com/problems/length-of-last-word/题目:Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the length of last word in the string
2016-12-05 11:05:04 333
原创 LeetCode 26 Remove Duplicates from Sorted Array题解
题目地址:https://leetcode.com/problems/remove-duplicates-from-sorted-array/题目:Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length
2016-12-05 10:53:07 421
原创 Java实现一个简单的两人五子棋游戏(七) 提示信息 end
有五连珠的时候,输入提示信息,直接在mousePressed函数部分使用showMessageDialog。mousePressed函数代码如下: @Override //当用户按下鼠标按钮时发生 public void mousePressed(MouseEvent e) { int point_x=e.getX(); int point_y=e.getY(); int
2016-12-04 13:27:23 2627
原创 Java实现一个简单的两人五子棋游戏(六) 行棋方变换
1)选择棋子✔️2)画棋子✔️3)判断胜负✔️4)交换行棋方目标前面我们已经画好棋盘和棋子,并可以自由落子,且可以判断棋盘中是否有五连珠。接下来的工作是,每次落子后交换行棋方(即将下一棋子颜色由白->黑或黑->白),并将胜出判断增加颜色判断条件(棋盘上存在五连珠->棋盘上
2016-12-04 13:26:54 5265 1
原创 Java实现一个简单的两人五子棋游戏(五) 判断是否有一方胜出
1)选择棋子✔️2)画棋子✔️3)判断胜负目标4)交换行棋方目标前面我们已经画好了棋盘、棋子并且可以自由的落子了,那么接下来要实现的功能是判断是否有五连珠(暂时不考虑行棋方)。新增一个isWin()函数
2016-12-04 13:26:18 7925 4
原创 Java实现一个简单的两人五子棋游戏(四) 落子动作的实现
1)选择棋子目标2)画棋子✔️3)判断胜负4)交换行棋方 前面,我们已经画好的棋盘和棋子,接下来,我们要通过鼠标点击屏幕获取落子位置并落子(先不考虑行棋方和胜负判断)。步骤:1)捕捉鼠标按下的位置2)经过坐标变换(由像素位置->0-19的棋盘位置)3)
2016-12-04 13:25:51 8450 4
原创 Java实现一个简单的两人五子棋游戏(三) 画棋子
前面我们已经画好的棋盘,现在来实现控制模块,主要功能:交换行棋方选择棋子画棋子判断胜负
2016-12-04 13:25:13 10867 2
原创 Java实现一个简单的两人五子棋游戏(二) 画棋盘
棋盘模块:画五子棋棋盘:19条横线、19条竖线Step 1) 显示棋盘我有一张名为chessboard.png的棋盘,位置为根目录/res/drawable/chessboard/png,现在我要显示这张图片。DrawChessBoard.javapackage xchen.test.simpleGobang;import java.awt.Graphics;im
2016-12-04 13:13:00 22774 12
原创 Java实现一个简单的两人五子棋游戏(一) 系统设计
1)模块划分主模块:调用其他模块实现五子棋功能棋盘模块:绘制五子棋棋盘落子模块:让玩家在合法位置上落子功能控制模块:包含了三个功能函数,可被其他模块调用。主要功能为画棋子、判断胜负和行棋方转换信息模块:输出提示信息2)数据结构设计坐标变换:为了编程方便,设立棋盘坐标系:棋盘范围(0,0)-(18,18)。实际设备坐标系,单位是像素,左上为坐标原点,坐标轴正方向采
2016-12-04 13:12:33 9378
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人