浅谈把Java字节码译为C代码的意义 Java字节码是基于栈的一种编码。这种编码方式十分方便解释器的设计,但同时不利于程序分析,因此一些高效的代码优化技术无法方便的Java字节码上实现。 先大体说说Java字节码的特点。目前版本的Java大概有200+的字节码指令,其中大部分都是1字节指令,这也是为什么叫做字节码。少部分指令是多...
从 ServiceMethod角度来认识retrofit框架 对于Android开发者而言,retrofit可以说算是比较实用的网络请求框架,而且是开源的。那么,从请求执行的角度,以 interface 中我们定义的方法为起始,解读 retrofit 的执行流程。目的是想让我们对 retrofit 的执行流程有一个框架性的了解,同时也是为了面试的时候,可...
浅谈关于代码重构与优化的问题 关于代码重构与优化的问题,在做前端开发的时候也时常会遇见,在这段时间里面,可能是对自我要求比较高,不仅仅是项目能完成,功能正常使用这一层面上。还尽力的研究怎么写出优雅的代码,性能更好,维护性更强的代码,通俗一点就是重构。本文是我一个小记录,在此分享一下例子也简单,深入复杂的例子等以后有适合的实...
Java程序员如何高效而优雅地入门C++ Java程序员如何高效而优雅地入门Cpp,由于工作需要,需要用C++写一些模块。关于C++ 的知识结构,虽说我有过快速学习很多新语言的经验,但对于C++ 我也算是老手,但也还需要心生敬畏,本文会从一个Java程序员的角度,制定高效学习路线快速入门C++ 。Java是为了就业,C++ 是信仰。(...
初入职场的程序员如何准备简历 初入职场的程序员如何准备一份漂亮的简历?当学完编程技术之后就面临找工作的问题,那么这时,就需要准备一份漂亮的简历。一份好的简历,不仅能让你面试成功,也可以让你获得更多的机会。简历就是求职的名片,是求职的第一步。 首先要说明的是,写简历必须要自己写,一定不要抄!因为在面试的时候很多问题是依据简历...
浅谈如何实现HTML5的离线存储 关于HTML5离线存储原理及实现,笔者找到一篇介绍离线缓存的,感觉比之前看到的解释的更透彻,新的知识点记录如下: 大家都知道Web App是通过浏览器来访问的,所以离线状态下是无法使用app的。其中web app中的一些资源并不经常改变,不需要每次都向服务器发送请求。这时应运而生的离线缓存就显...
在项目中如何使用ESLint提高代码质量 关于ESLint的版本,目前ESLint的稳定版本是v4.19.1,如果你看过ESLint的官方文档,就会知道官网推出了ESLint v5.0.0-alpha.1,这是ESLint的一个主要版本升级。由于这是预发布版本,ESLint尚未准备好用于生产,因此我们不会通过npm自动升级。next安...
如何巧妙防御Web攻击 如何巧妙防御Web攻击?网络安全问题对于开发者而言也是十分重要的课题,那么笔者也总结了几点关于Web攻击的常见情况及分析。 1. CSRF (cross-site request forgery)跨站请求伪造 一句话概括:当用户浏览器同时打开危险网站和正常网站,危险网站利用图片隐藏链接,或者j...
RPC框架的原理和应用方法 随着集中式架构向分布式架构的转变,应用系统之间的服务调用与通讯问题成为了首要解决的需求。而RPC 的主要目标就是为了让构建分布式计算(应用)变得更加简单,在提供强大的远程调用能力时不损失本地调用的语义简洁性。 为实现该目标,RPC 框架需提供一种透明调用机制让使用者不必显示的区分本地调用和远程...
成为一名前端架构师需要付出怎样的努力? 说起前端架构师,给人感觉上是一个高大上的名称, 每个初入行的前端工程师在面试时, 被问到你未来的方向是什么? 我们或许都会很顺口的回答, "嗯, 朝着架构方向走吧...", 那这个像是顺口溜的答案背后, 从身体到思维, 我们究竟经历了怎样的转变呢?其实转变不是一朝一夕的事,而是一种知识与能力的...
浅谈如何建立指标模型运算体系 何建立指标模型运算体系?在工作中经常会接触到各种信息系统,对于信息系统的开发和使用,一般来说都会考虑系统对数据的分析和统计功能。尤其是在统计方面,需要在庞大的系统数据当中提炼我们关心的各种指标。于是指标模型运算就显得非常重要了。首先当然是满足当前的指标定义、计算、分析、展现需求(虽然普通的报表...
Pandas 的常用数据类型概述 Pandas是Python当中重要的数据分析工具,在进行数据分析时,确保使用正确的数据类型非常重要,否则可能会得到意想不到的结果或错误。对 Pandas 而言,它会在很多情况下正确地作出数据类型推断,你可以继续进行分析工作,而无需深入思考该主题。 尽管 Pandas 工作得很好,但在数据分析过...
浅谈如何全面理解HBase架构 如何全面理解HBase架构?在深入了解HBase之前,要了解其架构的组件。从物理结构上讲,HBase由三种类型的服务器构成主从式架构。Region Servers为数据的读取和写入提供服务。当访问数据时,客户端直接和Region Servers通信。Region的分配,DDL (create,...
浅谈MyBatis和Hibernate两者的特点及对比 MyBatis和Hibernate有一些共同点,都为持久层框架。但Hibernate可以说是比较老旧的框架,这样讲的原因是虽然Hibernate有比较好的可移植性,而且对JDBC有较好的封装,便于使用SQL进行操作,但由于MySQL数据库只适用于中小企业,所以Hibernate的使用就有一定的...
浅谈对Java一次编译到处运行的理解 “一次编译、到处运行”说的是Java语言跨平台的特性,简单地来讲,Java的跨平台特性与Java虚拟机的存在密不可分,可在不同的环境中运行。比如说Windows平台和Linux平台都有相应的JDK,安装好JDK后也就有了Java语言的运行环境。其实Java语言本身与其他的编程语言没有特别大的差...
浅谈计算机专业的毕业生如何提高自身素质 一年一度的毕业季又将到来,作为计算机专业的毕业生同样会参与到就业大军之中。面对招聘企业的岗位要求,作为计算机专业的学生应具备哪些专业技能和素质才能够胜任,从而找到自己理想的工作呢? 其实科班出身,最大的优势就是有扎实的理论基础,例如离散数学、程序设计、数据结构、操作系统、数据库原理等基础知识都...
用C++做后台开发有哪些需要注意的问题 说起后台开发,严格地说和用什么语言开发没有必然的关系。比如说网络游戏的后台,用C++开发的有很多,但用Java开发的也不少,而且在某些情况下,用Java做服务器效果还较好。其实,如果说用C++开发后台,可能更多的是从项目需要的角度考虑。毕竟现在能够找到一个好的C++程序员也不是一件容易的事,所...
浅谈关于多线程在CPU上是怎样分布的 关于Java多线程在CPU上分布的问题,首先要明白一点,它与CPU是多核还是双核并没有必然的联系。CPU有时只能执行一个线程,这是因为在多线程并行执行时,CPU可以根据一定的算法来调度和切换线程。一般而言对于多线程的理解可以是CPU根据一定的线程调度算法来切换线程,因此在相应时段,可看作是多个...
浅谈SpringMVC和MyBatis在应用方面的优势 在Java的众多框架当中,Spring系列是较为成熟和应用广泛的框架。在Web开发中,经常会用到MVC模块,从而达到逻辑、数据、界面显示相互分离的效果,在开发过程中有着非常多的好处。Spring在融入MVC架构之后,也是对原有Spring功能的一种增强,增加了一些接口。MyBatis是Java...
谈谈当前主流的开发框架有哪些? 谈起当前流行的Java开发框架,笔者认为在Java中框架确实很多,以前流行SSH,现在如果开发管理系统一般用SSM。在谈论框架时首先要明白框架的存在有什么意义?说起一套软件开发得好不好,很重要的一个判断依据就是是否符合“高内聚、低耦合”的特点。框架存在的意义就是为了降低代码之间、模块之间的耦合...