PHP童鞋改JAVA代码怎么处理

用线上升级平台代码练手,学习JAVA。飞哥建议我们自己从头再搭建一套,提高会大。我自己作为一个JAVA出身的人,用了几天时间学会PHP的经验来看。最好,先在原来代码基础上改些东西。熟悉了基本语法之后再来重新搭建一套。如果本来就是一头雾水,再加上全身心投入的时间不够充裕的话,可能会欲速而不达。
  第一步,让原代码跑起来。这一步宗鉴已经运行成功了。其实JAVA就学会了五分之四了。因为不管PHP还是JAVA就是一个工具。我一个做JAVA的,做PHP的项目也不比JAVA慢。因为一个小型WEB项目架构就是:WEB容器,一个WEB框架,缓存,前端技术,底层数据库。JAVA还是PHP都只不过是框架的一部分,何况PHP的语法是一个大融合,比较流行的PHP框架也是基于MVC模型的,知识上完全没有隔阂。

  下来的源码后台部分没有在pom.xml文件中规定java版本,需要自己手动把版本改成1.7以上,或者我已经修改提交了,重新更新一下即可。现在的java项目比较讲究依赖注入,控制反转。就是比较框架性的。比如这个maven工具,还有spring mvc。要了解他们做了什么不要先看代码,先看配置文件。文件才是核心,代码就是让文件生效的。

  在语法上,之前公司也有做PHP的,一直不明白,他们的数据库表名字为什么有个公共前缀,现在知道这是PHP里规范要配的。在JAVA里表名可以随便命名。在PHP里时间戳他们会用数字存储,因为确实在PHP的函数里处理数字的日期会比较方便。但是在JAVA里,我们有Calendar,DateFormat这些专门处理日期的。一般会存成date,datetime,timestramp这些格式,以更好的利用mysql对日期的强大支持福利。其中timestramp在对日期的处理效率高,但是一张表仅允许一个timestramp。我在设计数据表的时候一般都会有一个创建时间,datetime格式,插入时将当前时间now()赋值进去,之后不再更新。一个更新时间,timestramp格式,利用数据库的特性,初始值是当前时间戳,在每次修改会随当前时间戳更新。这个不是一般的触发器,不会存在并发和性能问题。程序中更新基本无视这两个字段。

  第二步,先从管理后台入手。因为管理后台有页面,容易一边改代码一边理解业务。管理后台没有什么性能要求,架构也是spring mvc经典架构,不需要再新搭建一套。业务了解之后,接口部分并发量高,到时候可以大家一起商量新搭建一套,以提高服务器的利用率,也许还能下线几台服务器。

  管理后台,PHP的同学应该都能看懂。唯一一点就是路由规则的定义:在经典的web框架中,nginx这些反向代理一般只代理到目录或者域名,剩下的规则会在一个叫web.xml的文件中找到定义。这个有点类似于thinkphp中的index.php的作用,是一个总入口。对于Spring MVC来说,web.xml里会定义一个DispatcherServlet来处理这些路由规则。DispatcherServlet是一个JAVA类,具体做了什么可以看源码。或者百度一下SpringMVC的工作原理,里面全是在说DispatcherServlet这个类。

  第三步,管理后台修改几个页面之后,剩下的问题已经不是JAVA的问题了。不管是改接口的架构还是别的,能做成什么样子,需要的是工程师的综合能力,和JAVA无关~~

时间: 2024-11-04 11:26:10

PHP童鞋改JAVA代码怎么处理的相关文章

Android的JS调用Java代码或使用了Javascript相关技术改如何混淆

http://www.androidren.com/index.php?qa=282&qa_1=android的js调用java代码或使用了javascript相关技术改如何混淆 Android 4.2开始 JS调用Java代码的时候必须加上@JavascriptInterface才能调用. 加上@JavascriptInterface之后就必须要考虑混淆时候的问题,如果混淆的时候把@JavascriptInterface搞丢了你的程序就无法调用了. 其实很简单,你只需要在混淆里面加上: -ke

去除挖宝报毒的问题,修改基础包的java代码,并且打包

1:去除报毒的  yl-util-countly.jar 2:注释基础包 java 的调用到yl-util-countl的代码 3:充值编译gamebase-lib.jar 1:在项目里执行  ant release 2:生成的bin\classes.jar 就是 gamebase-lib.jar 附件为所以的java代码,只有3个需要改,注释掉了调用yl-util-countl的代码

java代码分析及分析工具

java代码分析及分析工具 一个项目从搭建开始,开发的初期往往思路比较清晰,代码也比较清晰.随着时间的推移,业务越来越复杂.代码也就面临着耦合,冗余,甚至杂乱,到最后谁都不敢碰. 作为一个互联网电子商务网站的业务支撑系统,业务复杂不言而喻.从09年开始一直沿用到现在,中间代码经过了多少人的手,留下了多少的坑,已经记不清楚了,谁也说不清了. 代码的维护成本越来越高.代码已经急需做调整和改善.最近项目组专门设立了一个小组,利用业余时间做代码分析的工作,目标对核心代码进行分析并进行设计重构. 代码分析

Tomcat使用MyEclipse远程调试Java代码配置详解

Tomcat使用MyEclipse远程调试Java代码总结如下:在做远程调试时,在windows系统和非windows系统下的配置,Tomcat中会有所差别,具体如下: 第一步.配置tomcat一.在windows系统中:打开%CATALINE_HOME%/bin下的文件catalina.bat,加入下面这行:set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket

基于Instrumentation的JAVA代码热替换

理类用来获取 Instrumentation 实例 package com.codeconch.util; import java.lang.instrument.Instrumentation; public class Monitor { private static Instrumentation instrumentation; public static void premain(String args, Instrumentation inst) { instrumentation

自学总结redis第二部分(redis常用命令、高级命令特性以及与java代码的结合)

六.redis多数据类型介绍(常用命令) 6.1前提操作 #如果前面的redis环境没搭好,那么可以先暂时在 "http://try.redis.io/"中实践redis命令部分.   #为了测试方便,把redis登录密码暂时撤销   #redis一共分为五种基本数据类型:String,Hash,List,Set,ZSet #所有命令都可以到"http://www.redis.cn/commands.html"  去搜索到. #首先由于redis是一个基于key-v

Java 代码性能优化总结

35 个 Java 代码性能优化总结 前言 代码优化,一个很重要的课题.可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了.代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨:但是如果有足够的时间开发.维护代码,这时候就必须考虑每个可以优化的细节了,一个一个细小的优化点累积起来,对于代码的运行效率

JAVA代码实现数据结构常用排序算法

下面是用JAVA代码实现的数据结构中的7中基本排序算法: (1)直接插入排序 /** 直接插入排序 **/ /** 数组是引用类型,元素值将被改变 **/ public static void insertSort(int[] table) { /** n-1趟扫描 **/ for (int i = 1; i < table.length; i++) { /** 每趟将table[i]插入到前面已排序的序列中 **/ int temp = table[i], j; /** 将前面较大元素向后移动

书写性能良好的java代码

书写性能良好的java代码 1.尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面 第一,控制资源的使用,通过线程同步来控制资源的并发访问 第二,控制实例的产生,以达到节约资源的目的 第三,控制数据共享,在不建立直接关联的条件下,让多个不相关的进程或线程之间实现通信 2.尽量避免随意使用静态变量 要知道,当某个对象被定义为stataic变量所引用,那么gc通常是不会回收这个对象所占有的内存,如