19年五月份,突然脑回路一抽,着手开发了一款基于键盘音效的桌面级软件---keytones;命名有点~糙。当时开发的初衷就是为了在deepin系统上能使用一款键盘音效软件,原因当然就是deepin系统自带商店下载的那款XXX键盘音效软件用~不·~了·~。当时突然·产生了一个·想法,键盘音效软件ε=(´ο`*)))唉!!!不如就捣鼓捣鼓,自个开发搞一款吧......历时20天,软件成型了,1,0版本的软件成型了,但是因为一些原因,极速开发了2.0版本;

1.0版本只是提供了Windows、Linux的键盘音效功能;

2,0版本在1,0版本功能上集成开发了Android手机远程遥控功能。

当然这样的好东西肯定给各位分享一下,下载地址:http://www.hongkaiqing.cn/Keytone/

为什么现在要优化一下呢?忘了要交代一下背景,因为当初为了实现时刻的键盘监听,使用了伤敌一千,自残八百的开发方法,使用了循环的线程阻塞,没错,就是这个如此之骚的方法,导致了,每次开启这个软件,电脑的cpu、运行内存就消耗的非常快~这个软件导致我跟朋友们差点绝交了,她们都觉得我开发的不是软件,是病毒~~~虽然如此,我从未想放弃这个软件,毕竟这个算是我这两年在校学习的成果了(本人广东省普通大专院校)的,为什么是两年,不要纠结这个,我们大三都得实习了~

交代了背景,现在就让我们谈谈该如何优化这个桌面级软件:开发语言是java.,当时开发使用了maven管理第三方的jar包,毕竟涉及Windows、Linux这两个平台的底层,肯定需要在前人的努力下再努努力的嘛,键盘监听和键盘音效播放使用的是java 的线程池,和Android端的通信使用了相关的tcp协议、java socket编程、java io流操作,远程遥控使用的是Java Robot类.....现在我面临几个问题需要解决:

1、软件UI太丑了,原生的java开发页面是真的朴素;如图:

2、线程问题,CPU和运行内存吃太满了;如图:

3.代码分包太乱了。。。。

问题一的解决方法:

Java桌面程序开发方式——JavaFx+JFoenix开发。听说这个搞UI还行

问题二的解决方法:

大概要更改策略模式,肯定是不能循环阻塞线程实现监听的,目前在考虑懒汉模式监听键盘~~~

问题三的解决方法:

这个就得运用我实习期间学到的企业级项目开发方法,搞搞。以前的代码基本要重构,问题不大~

这篇文章只是记录一下重构项目前的心路历程,然后就是想搞搞新的功能,如果你对软件功能有想法的,欢迎评论一下~

应用优化前心路历程~相关推荐

  1. 【博客话题】我的linux心路历程

    2011年的某一天,程程同学在QQ上跟我说"linux 20周年了,有没有关于linux话题的好点子",回神一想,是啊,linux都20周年了,是应该搞一个有意义的话题了,我就建议 ...

  2. 关于代码效率提升的方法心路历程(购物车)

    关于代码效率提升的方法心路历程(购物车) 给为园友们,大家好,最近一直解决执行提速,分析老代码的逻辑并提出优化方案,在这个过程中发现了很多不好的习惯,导致很多程序逻辑执行效率低下,现在将其总结一下,如 ...

  3. ArchSummit微课堂|蘑菇街DevOps实践及心路历程分享

    本文整理自 #ArchSummit微课堂#--赵成分享的蘑菇街DevOps实践及心路历程,主要介绍一些运维体系建设中的的经历和实践, 什么是DevOps?为什么是DevOps? 蘑菇街DevOps实践 ...

  4. 前端证券项目_非科班二本前端大厂面试的心路历程和总结(腾讯、头条、阿里、京东)...

    现状和背景 个人背景 我是17年毕业的,大三升大四的暑假期间开始学习前端:在这之前一直在小公司打滚:而且至今已经换了四家公司了(算上接下来入职的公司),可谓跳槽非常频繁(其实是小公司容易倒闭).如果说 ...

  5. 【转】楼天城楼教主的acm心路历程(作为励志用)

    [转]楼天城楼教主的acm心路历程(作为励志用) 利用假期空闲之时,将这几年GCJ,ACM,TopCoder 参加的一些重要比赛作个 回顾.昨天是GCJ2006 的回忆,今天时间上更早一些吧,我现在还 ...

  6. 转行做数据分析的心路历程

    现在很多人不是在学习数据分析的路上,就是在考虑要不要学数据分析的路上,无论是他或她之前所学的专业是理工学科还是文史学科,也无论他或她现在做的工作是不是数据类工作. 如此多的人学习数据分析,再次说明数据 ...

  7. 我的程序员之路:11 年高考结束到 17 年日本修士的心路历程

    前言 友情提示,本文共 6970 字,请耐心阅读阅读.借这个机会可以舒展心中的话,很开心.希望大学新生看到我的经历能从中学习到经验与教训.本文是作者多年总结经验和心得,从大学教育对比,大学学习历程,考 ...

  8. 涂鸦智能选型 TiKV 的心路历程

    作者:luzizhuo 原文来源: https://tidb.net/blog/7496ee47 本文来自涂鸦智能的刘筠松在 PingCAP DevCon 2021 上的分享,包括 TiDB 在 Io ...

  9. 被拒13次,博士五年未发论文是什么体验?美国计算机Top10大学博士亲述心路历程|然后,剧情反转了……...

    金磊 整理转载自 少十七  量子位 报道 | 公众号 QbitAI 不久前,量子位转载报道了<博士生学历真的很重要吗?>,引起了大量关注和热议. 不少盆友表示有被燃到,备受鼓舞. 然而,现 ...

最新文章

  1. 寒冬中的半个月前端面试
  2. ECharts简单入门demo
  3. 使用命令行提取微软补丁文件
  4. 全网最全清理c盘大全
  5. 简单欧拉公式c语言算法,算法之_欧拉公式
  6. 深度学习中的深度是指什么_什么是深度学习
  7. 服务器xp系统网页打不开网页,ie浏览器打不开网页,xp系统ie打不开网页-
  8. 365天历史时间顺序读经计划表
  9. 专注儿童编程,核桃编程招人啦~
  10. 云原生-备份(原文地址:https://www.infoq.cn/article/fA42rfjV*dYGAvRANFqE)
  11. 星光不负赶路人|2022年终总结
  12. csgo开箱网站有哪些?NEW
  13. matlab 运行报错:变量似乎随迭代次数而改变,请预先分配内存空间以加快运算速度 解决方式
  14. 对JAVA多态的理解
  15. 安卓手机在fastboot模式下刷机
  16. 1157 最高分和最低分
  17. 基于CTC转换器的自动拼写校正端到端语音识别
  18. resouce checker插件(检测模型中没有用到的网格、martaril、图片)
  19. CompareNoCase
  20. Python的一,二,三维数组中根据下标取得对应数值

热门文章

  1. iOS 5.0.1完美越狱教程
  2. html 内嵌xml数据库,是否可以在SQLite数据库中存储XML/HTML文件?
  3. 模拟——玩具谜题(洛谷 P1563)
  4. 北大OJ(POJ 2503)在线翻译
  5. 计算机实训教学论文,计算机实训教学探索论文
  6. java sbyte_Java Byte parseByte()方法
  7. exe文件解包_如何获取别人微信小程序的源文件?
  8. 典型案例:Bug 9776608-多个用户使用错误密码登录同一个用户而造成的用户无法登录异常...
  9. 叮咚!7.24运维节,您有一份礼物待查收!
  10. AI+RPA,让你的工作模式开启“新方式”